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

# Context.dev: Contextdev Get Web Scrape Html

> Scrape HTML. Context.dev Contextdev Get Web Scrape Html reference includes SDK V2 and CLI requests, input constraints, response fields, and Deepline cost.

Scrape HTML.

<Info>
  Tool ID: `contextdev_get_web_scrape_html`
</Info>

## Run this action

Use the TypeScript SDK for a single call. Put `ctx.tools.execute(...)` inside a Play when the call should be durable, scheduled, or run across a CSV.

```ts theme={null}
import { Deepline } from 'deepline';

const deepline = await Deepline.connect();
const result = await deepline.tools.execute(
  'contextdev_get_web_scrape_html',
  {
    "url": "https://example.com/resource"
  },
);

console.log(result.toolResponse.raw);
```

### CLI

```bash theme={null}
deepline tools execute contextdev_get_web_scrape_html --input '{
  "url": "https://example.com/resource"
}' --json
```

## Example response

The SDK exposes this shape at `result.toolResponse.raw`. Values below are representative.

```json theme={null}
{
  "data": {
    "success": true,
    "html": "example",
    "url": "https://example.com",
    "type": "html",
    "metadata": {
      "sourceUrl": "https://example.com",
      "finalUrl": "https://example.com"
    }
  }
}
```

Use `deepline tools get contextdev_get_web_scrape_html --json` for the latest machine-readable contract.

## Input reference

Scrapes the given URL and returns the raw HTML content of the page.

| Name                         | Type                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | Required | Default                                      | Details                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | -------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `payload.url`                | `string`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | Yes      | —                                            | Full URL to scrape (must include http\:// or https\:// protocol) Format: `uri`. Minimum length: 1.                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| `payload.pdf`                | `object`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | No       | `&#123;"shouldParse":true,"ocr":false&#125;` | PDF parsing controls. Use start/end to limit text extraction and embedded-image detection/OCR to an inclusive 1-based page range.                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `payload.includeFrames`      | `boolean`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | No       | `false`                                      | When true, iframes are rendered inline into the returned HTML.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| `payload.useMainContentOnly` | `boolean`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | No       | `false`                                      | When true, return only the page's main content in the HTML response, excluding headers, footers, sidebars, and navigation when detectable.                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `payload.includeSelectors`   | `array`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | No       | —                                            | CSS selectors. When provided, only matching subtrees (and their descendants) are kept and everything else is dropped. When omitted, the entire document is kept. Examples: "article.main", "#content", "\[role=main]". Maximum items: 50.                                                                                                                                                                                                                                                                                                                           |
| `payload.excludeSelectors`   | `array`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | No       | —                                            | CSS selectors to remove from the result. Applied after includeSelectors. Exclusion takes precedence: an element matching both is removed. Examples: "nav", "footer", ".ad-banner", "\[aria-hidden=true]". Maximum items: 50.                                                                                                                                                                                                                                                                                                                                        |
| `payload.maxAgeMs`           | `integer`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | No       | `86400000`                                   | Return a cached result if a prior scrape for the same parameters exists and is younger than this many milliseconds. Defaults to 1 day (86400000 ms) when omitted. Max is 30 days (2592000000 ms). Set to 0 to always scrape fresh. Minimum: 0. Maximum: 2592000000.                                                                                                                                                                                                                                                                                                 |
| `payload.waitForMs`          | `integer`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | No       | —                                            | Optional browser wait time in milliseconds after initial page load. Min: 0. Max: 30000 (30 seconds). Minimum: 0. Maximum: 30000.                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| `payload.settleAnimations`   | `boolean`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | No       | `false`                                      | When true, waits briefly for CSS and transition animations to settle before extracting HTML. Defaults to false. This adds a bit of latency in exchange for more stable output on animated pages.                                                                                                                                                                                                                                                                                                                                                                    |
| `payload.actions`            | `array`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | No       | —                                            | Optional browser actions executed in array order after the page loads and before content is captured. Send a JSON array in the query parameter. Maximum: 5 actions. Maximum items: 5.                                                                                                                                                                                                                                                                                                                                                                               |
| `payload.headers`            | `record`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | No       | —                                            | Optional outbound HTTP headers forwarded only to the target URL, sent as deep-object query params such as headers\[X-Custom]=value. When provided, caching is bypassed: the result is neither read from nor written to cache.                                                                                                                                                                                                                                                                                                                                       |
| `payload.country`            | `"ad" \| "ae" \| "af" \| "ag" \| "ai" \| "al" \| "am" \| "ao" \| "ar" \| "at" \| "au" \| "aw" \| "az" \| "ba" \| "bb" \| "bd" \| "be" \| "bf" \| "bg" \| "bh" \| "bi" \| "bj" \| "bm" \| "bn" \| "bo" \| "bq" \| "br" \| "bs" \| "bw" \| "by" \| "bz" \| "ca" \| "cd" \| "cf" \| "cg" \| "ch" \| "ci" \| "cl" \| "cm" \| "cn" \| "co" \| "cr" \| "cv" \| "cw" \| "cy" \| "cz" \| "de" \| "dj" \| "dk" \| "dm" \| "do" \| "dz" \| "ec" \| "ee" \| "eg" \| "es" \| "et" \| "fi" \| "fj" \| "fr" \| "ga" \| "gb" \| "gd" \| "ge" \| "gf" \| "gg" \| "gh" \| "gm" \| "gn" \| "gp" \| "gq" \| "gr" \| "gt" \| "gu" \| "gw" \| "gy" \| "hk" \| "hn" \| "hr" \| "ht" \| "hu" \| "id" \| "ie" \| "il" \| "im" \| "in" \| "iq" \| "ir" \| "is" \| "it" \| "je" \| "jm" \| "jo" \| "jp" \| "ke" \| "kg" \| "kh" \| "kn" \| "kr" \| "kw" \| "ky" \| "kz" \| "la" \| "lb" \| "lc" \| "lk" \| "lr" \| "ls" \| "lt" \| "lu" \| "lv" \| "ly" \| "ma" \| "mc" \| "md" \| "me" \| "mf" \| "mg" \| "mk" \| "ml" \| "mm" \| "mn" \| "mo" \| "mq" \| "mr" \| "mt" \| "mu" \| "mv" \| "mw" \| "mx" \| "my" \| "mz" \| "na" \| "nc" \| "ne" \| "ng" \| "ni" \| "nl" \| "no" \| "np" \| "nz" \| "om" \| "pa" \| "pe" \| "pf" \| "pg" \| "ph" \| "pk" \| "pl" \| "pr" \| "ps" \| "pt" \| "py" \| "qa" \| "re" \| "ro" \| "rs" \| "ru" \| "rw" \| "sa" \| "sc" \| "sd" \| "se" \| "sg" \| "si" \| "sk" \| "sl" \| "sm" \| "sn" \| "so" \| "sr" \| "ss" \| "st" \| "sv" \| "sx" \| "sy" \| "sz" \| "tc" \| "td" \| "tg" \| "th" \| "tj" \| "tl" \| "tm" \| "tn" \| "tr" \| "tt" \| "tw" \| "tz" \| "ua" \| "ug" \| "us" \| "uy" \| "uz" \| "vc" \| "ve" \| "vg" \| "vi" \| "vn" \| "ye" \| "yt" \| "za" \| "zm" \| "zw"` | No       | —                                            | Fetch the target page through a residential proxy in this country (ISO 3166-1 alpha-2). Allowed: `ad`, `ae`, `af`, `ag`, `ai`, `al`, `am`, `ao`, `ar`, `at`, `au`, `aw`, `az`, `ba`, `bb`, `bd`, `be`, `bf`, `bg`, `bh`, `bi`, `bj`, `bm`, `bn`, `bo`, `bq`, `br`, `bs`, `bw`, `by`, `bz`, `ca`, `cd`, `cf`, `cg`, `ch`, `ci`, `cl`, `cm`, `cn`, `co`, `cr`, `cv`, `cw`, `cy`, `cz`, `de`, `dj`, `dk`, `dm`, `do`, `dz`, `ec`, `ee`, `eg`, `es`, `et`, `fi`, `fj`, `fr`, `ga`, `gb`, `gd`, `ge`, `gf`, `gg`, `gh`, See the live schema for the complete constraint. |
| `payload.timeoutMS`          | `integer`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | No       | —                                            | Optional timeout in milliseconds for the request. If the request takes longer than this value, it will be aborted with a 408 status code. Maximum allowed value is 300000ms (5 minutes). Minimum: 1. Maximum: 300000.                                                                                                                                                                                                                                                                                                                                               |
| `payload.zdr`                | `"enabled" \| "disabled"`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | No       | `"disabled"`                                 | Set to enabled to bypass shared caches and omit request and response content from retained usage logs. Requires zero data retention to be enabled for your organization (contact [support@context.dev](mailto:support@context.dev)), otherwise the request fails with ZDR\_NOT\_ENABLED. Successful ZDR responses include X-Context-ZDR: true. Allowed: `enabled`, `disabled`.                                                                                                                                                                                      |
| `payload.tags`               | `array`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | No       | —                                            | Optional comma-separated caller-defined tags for tracking this request. Tags are recorded on the request's usage log and can be used to filter usage on the dashboard usage page. Up to 20 tags, each 1-50 characters. Maximum items: 20.                                                                                                                                                                                                                                                                                                                           |

<details>
  <summary>Show raw input schema</summary>

  ### Input JSON Schema

  ```json theme={null}
  {
    "type": "object",
    "description": "Scrapes the given URL and returns the raw HTML content of the page.",
    "properties": {
      "url": {
        "type": "string",
        "description": "Full URL to scrape (must include http:// or https:// protocol)",
        "minLength": 1,
        "format": "uri"
      },
      "pdf": {
        "type": "object",
        "description": "PDF parsing controls. Use start/end to limit text extraction and embedded-image detection/OCR to an inclusive 1-based page range.",
        "default": {
          "shouldParse": true,
          "ocr": false
        },
        "properties": {
          "shouldParse": {
            "type": "boolean",
            "description": "When true, PDF URLs are fetched and parsed. When false, PDF URLs are skipped and a 400 PDF_SKIPPED is returned.",
            "default": true
          },
          "start": {
            "type": "integer",
            "description": "First 1-based PDF page to parse. When omitted, parsing starts at the first page.",
            "minimum": 1
          },
          "end": {
            "type": "integer",
            "description": "Last 1-based PDF page to parse. When omitted, parsing ends at the last page. Must be greater than or equal to start when both are provided.",
            "minimum": 1
          },
          "ocr": {
            "type": "boolean",
            "description": "When true, OCR the selected PDF pages that have no usable text layer (scans), replacing each recovered page's text with the OCR result while pages with a real text layer keep it. When false, no OCR runs.",
            "default": false
          }
        },
        "additionalProperties": false
      },
      "includeFrames": {
        "type": "boolean",
        "description": "When true, iframes are rendered inline into the returned HTML.",
        "default": false
      },
      "useMainContentOnly": {
        "type": "boolean",
        "description": "When true, return only the page's main content in the HTML response, excluding headers, footers, sidebars, and navigation when detectable.",
        "default": false
      },
      "includeSelectors": {
        "type": [
          "array",
          "null"
        ],
        "description": "CSS selectors. When provided, only matching subtrees (and their descendants) are kept and everything else is dropped. When omitted, the entire document is kept. Examples: \"article.main\", \"#content\", \"[role=main]\".",
        "maxItems": 50,
        "items": {
          "type": "string",
          "minLength": 1,
          "maxLength": 2048
        }
      },
      "excludeSelectors": {
        "type": [
          "array",
          "null"
        ],
        "description": "CSS selectors to remove from the result. Applied after includeSelectors. Exclusion takes precedence: an element matching both is removed. Examples: \"nav\", \"footer\", \".ad-banner\", \"[aria-hidden=true]\".",
        "maxItems": 50,
        "items": {
          "type": "string",
          "minLength": 1,
          "maxLength": 2048
        }
      },
      "maxAgeMs": {
        "type": [
          "integer",
          "null"
        ],
        "description": "Return a cached result if a prior scrape for the same parameters exists and is younger than this many milliseconds. Defaults to 1 day (86400000 ms) when omitted. Max is 30 days (2592000000 ms). Set to 0 to always scrape fresh.",
        "default": 86400000,
        "minimum": 0,
        "maximum": 2592000000
      },
      "waitForMs": {
        "type": [
          "integer",
          "null"
        ],
        "description": "Optional browser wait time in milliseconds after initial page load. Min: 0. Max: 30000 (30 seconds).",
        "minimum": 0,
        "maximum": 30000
      },
      "settleAnimations": {
        "type": "boolean",
        "description": "When true, waits briefly for CSS and transition animations to settle before extracting HTML. Defaults to false. This adds a bit of latency in exchange for more stable output on animated pages.",
        "default": false
      },
      "actions": {
        "type": [
          "array",
          "null"
        ],
        "description": "Optional browser actions executed in array order after the page loads and before content is captured. Send a JSON array in the query parameter. Maximum: 5 actions.",
        "maxItems": 5,
        "items": {
          "description": "Browser action discriminated by `do`. Each variant exposes only its applicable fields.",
          "anyOf": [
            {
              "type": "object",
              "description": "Pause for a fixed number of milliseconds before continuing to the next action.",
              "properties": {
                "do": {
                  "type": "string",
                  "enum": [
                    "wait"
                  ]
                },
                "timeMs": {
                  "type": "integer",
                  "minimum": 0,
                  "maximum": 30000
                }
              },
              "required": [
                "do",
                "timeMs"
              ],
              "additionalProperties": false
            },
            {
              "type": "object",
              "description": "Resolve and perform one natural-language browser action.",
              "properties": {
                "do": {
                  "type": "string",
                  "enum": [
                    "perform"
                  ]
                },
                "action": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 500
                }
              },
              "required": [
                "do",
                "action"
              ],
              "additionalProperties": false
            }
          ]
        }
      },
      "headers": {
        "type": "object",
        "description": "Optional outbound HTTP headers forwarded only to the target URL, sent as deep-object query params such as headers[X-Custom]=value. When provided, caching is bypassed: the result is neither read from nor written to cache.",
        "additionalProperties": {
          "type": "string",
          "maxLength": 8192,
          "pattern": "^[^\\r\\n]*$"
        }
      },
      "country": {
        "type": "string",
        "description": "Fetch the target page through a residential proxy in this country (ISO 3166-1 alpha-2).",
        "enum": [
          "ad",
          "ae",
          "af",
          "ag",
          "ai",
          "al",
          "am",
          "ao",
          "ar",
          "at",
          "au",
          "aw",
          "az",
          "ba",
          "bb",
          "bd",
          "be",
          "bf",
          "bg",
          "bh",
          "bi",
          "bj",
          "bm",
          "bn",
          "bo",
          "bq",
          "br",
          "bs",
          "bw",
          "by",
          "bz",
          "ca",
          "cd",
          "cf",
          "cg",
          "ch",
          "ci",
          "cl",
          "cm",
          "cn",
          "co",
          "cr",
          "cv",
          "cw",
          "cy",
          "cz",
          "de",
          "dj",
          "dk",
          "dm",
          "do",
          "dz",
          "ec",
          "ee",
          "eg",
          "es",
          "et",
          "fi",
          "fj",
          "fr",
          "ga",
          "gb",
          "gd",
          "ge",
          "gf",
          "gg",
          "gh",
          "gm",
          "gn",
          "gp",
          "gq",
          "gr",
          "gt",
          "gu",
          "gw",
          "gy",
          "hk",
          "hn",
          "hr",
          "ht",
          "hu",
          "id",
          "ie",
          "il",
          "im",
          "in",
          "iq",
          "ir",
          "is",
          "it",
          "je",
          "jm",
          "jo",
          "jp",
          "ke",
          "kg",
          "kh",
          "kn",
          "kr",
          "kw",
          "ky",
          "kz",
          "la",
          "lb",
          "lc",
          "lk",
          "lr",
          "ls",
          "lt",
          "lu",
          "lv",
          "ly",
          "ma",
          "mc",
          "md",
          "me",
          "mf",
          "mg",
          "mk",
          "ml",
          "mm",
          "mn",
          "mo",
          "mq",
          "mr",
          "mt",
          "mu",
          "mv",
          "mw",
          "mx",
          "my",
          "mz",
          "na",
          "nc",
          "ne",
          "ng",
          "ni",
          "nl",
          "no",
          "np",
          "nz",
          "om",
          "pa",
          "pe",
          "pf",
          "pg",
          "ph",
          "pk",
          "pl",
          "pr",
          "ps",
          "pt",
          "py",
          "qa",
          "re",
          "ro",
          "rs",
          "ru",
          "rw",
          "sa",
          "sc",
          "sd",
          "se",
          "sg",
          "si",
          "sk",
          "sl",
          "sm",
          "sn",
          "so",
          "sr",
          "ss",
          "st",
          "sv",
          "sx",
          "sy",
          "sz",
          "tc",
          "td",
          "tg",
          "th",
          "tj",
          "tl",
          "tm",
          "tn",
          "tr",
          "tt",
          "tw",
          "tz",
          "ua",
          "ug",
          "us",
          "uy",
          "uz",
          "vc",
          "ve",
          "vg",
          "vi",
          "vn",
          "ye",
          "yt",
          "za",
          "zm",
          "zw"
        ]
      },
      "timeoutMS": {
        "type": "integer",
        "description": "Optional timeout in milliseconds for the request. If the request takes longer than this value, it will be aborted with a 408 status code. Maximum allowed value is 300000ms (5 minutes).",
        "minimum": 1,
        "maximum": 300000
      },
      "zdr": {
        "type": "string",
        "description": "Set to enabled to bypass shared caches and omit request and response content from retained usage logs. Requires zero data retention to be enabled for your organization (contact support@context.dev), otherwise the request fails with ZDR_NOT_ENABLED. Successful ZDR responses include X-Context-ZDR: true.",
        "default": "disabled",
        "enum": [
          "enabled",
          "disabled"
        ]
      },
      "tags": {
        "type": "array",
        "description": "Optional comma-separated caller-defined tags for tracking this request. Tags are recorded on the request's usage log and can be used to filter usage on the dashboard usage page. Up to 20 tags, each 1-50 characters.",
        "maxItems": 20,
        "items": {
          "type": "string",
          "minLength": 1,
          "maxLength": 50
        }
      }
    },
    "required": [
      "url"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

| Name                                              | Type                                                                                                                                    | Required | Default | Details                                                                                                               |
| ------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------- | --------------------------------------------------------------------------------------------------------------------- |
| `result.data`                                     | `object`                                                                                                                                | Yes      | —       | —                                                                                                                     |
| `result.data.success`                             | `true`                                                                                                                                  | Yes      | —       | Allowed: `true`.                                                                                                      |
| `result.data.html`                                | `string`                                                                                                                                | Yes      | —       | —                                                                                                                     |
| `result.data.url`                                 | `string`                                                                                                                                | Yes      | —       | —                                                                                                                     |
| `result.data.type`                                | `"html" \| "xml" \| "json" \| "text" \| "csv" \| "markdown" \| "svg" \| "pdf" \| "docx" \| "doc" \| "xlsx" \| "xls" \| "pptx" \| "ppt"` | Yes      | —       | Allowed: `html`, `xml`, `json`, `text`, `csv`, `markdown`, `svg`, `pdf`, `docx`, `doc`, `xlsx`, `xls`, `pptx`, `ppt`. |
| `result.data.metadata`                            | `object`                                                                                                                                | Yes      | —       | —                                                                                                                     |
| `result.data.metadata.sourceUrl`                  | `string`                                                                                                                                | Yes      | —       | —                                                                                                                     |
| `result.data.metadata.finalUrl`                   | `string`                                                                                                                                | Yes      | —       | —                                                                                                                     |
| `result.data.metadata.title`                      | `string`                                                                                                                                | No       | —       | —                                                                                                                     |
| `result.data.metadata.description`                | `string`                                                                                                                                | No       | —       | —                                                                                                                     |
| `result.data.metadata.language`                   | `string`                                                                                                                                | No       | —       | —                                                                                                                     |
| `result.data.metadata.keywords`                   | `array`                                                                                                                                 | No       | —       | —                                                                                                                     |
| `result.data.metadata.canonicalUrl`               | `string`                                                                                                                                | No       | —       | —                                                                                                                     |
| `result.data.metadata.author`                     | `string`                                                                                                                                | No       | —       | —                                                                                                                     |
| `result.data.metadata.siteName`                   | `string`                                                                                                                                | No       | —       | —                                                                                                                     |
| `result.data.metadata.image`                      | `string`                                                                                                                                | No       | —       | —                                                                                                                     |
| `result.data.metadata.favicon`                    | `string`                                                                                                                                | No       | —       | —                                                                                                                     |
| `result.data.metadata.publishedTime`              | `string`                                                                                                                                | No       | —       | —                                                                                                                     |
| `result.data.metadata.modifiedTime`               | `string`                                                                                                                                | No       | —       | —                                                                                                                     |
| `result.data.metadata.robots`                     | `string`                                                                                                                                | No       | —       | —                                                                                                                     |
| `result.data.metadata.openGraph`                  | `record`                                                                                                                                | No       | —       | —                                                                                                                     |
| `result.data.metadata.twitter`                    | `record`                                                                                                                                | No       | —       | —                                                                                                                     |
| `result.data.metadata.alternates`                 | `array`                                                                                                                                 | No       | —       | —                                                                                                                     |
| `result.data.metadata.alternates[].href`          | `string`                                                                                                                                | Yes      | —       | —                                                                                                                     |
| `result.data.metadata.alternates[].hreflang`      | `string`                                                                                                                                | No       | —       | —                                                                                                                     |
| `result.data.metadata.alternates[].type`          | `string`                                                                                                                                | No       | —       | —                                                                                                                     |
| `result.data.metadata.alternates[].title`         | `string`                                                                                                                                | No       | —       | —                                                                                                                     |
| `result.data.metadata.headings`                   | `array`                                                                                                                                 | No       | —       | —                                                                                                                     |
| `result.data.metadata.headings[].level`           | `integer`                                                                                                                               | Yes      | —       | Minimum: 1. Maximum: 6.                                                                                               |
| `result.data.metadata.headings[].text`            | `string`                                                                                                                                | Yes      | —       | —                                                                                                                     |
| `result.data.metadata.jsonLd`                     | `array`                                                                                                                                 | No       | —       | —                                                                                                                     |
| `result.data.metadata.additionalMeta`             | `record`                                                                                                                                | No       | —       | —                                                                                                                     |
| `result.data.key_metadata`                        | `object`                                                                                                                                | No       | —       | —                                                                                                                     |
| `result.data.actionsApplied`                      | `array`                                                                                                                                 | No       | —       | —                                                                                                                     |
| `result.data.actionsApplied[].instruction`        | `string`                                                                                                                                | Yes      | —       | —                                                                                                                     |
| `result.data.actionsApplied[].status`             | `"applied" \| "failed" \| "skipped"`                                                                                                    | Yes      | —       | Allowed: `applied`, `failed`, `skipped`.                                                                              |
| `result.data.actionsApplied[].method`             | `string`                                                                                                                                | No       | —       | —                                                                                                                     |
| `result.data.actionsApplied[].targetDescription`  | `string`                                                                                                                                | No       | —       | —                                                                                                                     |
| `result.data.actionsApplied[].completionEvidence` | `string`                                                                                                                                | No       | —       | —                                                                                                                     |
| `result.data.actionsApplied[].error`              | `string`                                                                                                                                | No       | —       | —                                                                                                                     |
| `result.data.actionsApplied[].durationMs`         | `number`                                                                                                                                | No       | —       | —                                                                                                                     |
| `result.data.actionsHtmlStale`                    | `boolean`                                                                                                                               | No       | —       | —                                                                                                                     |
| `result.meta`                                     | `object`                                                                                                                                | No       | —       | —                                                                                                                     |

<details>
  <summary>Show raw output schema</summary>

  ### Output JSON Schema

  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "data": {
        "type": "object",
        "properties": {
          "success": {
            "type": "boolean",
            "enum": [
              true
            ]
          },
          "html": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "html",
              "xml",
              "json",
              "text",
              "csv",
              "markdown",
              "svg",
              "pdf",
              "docx",
              "doc",
              "xlsx",
              "xls",
              "pptx",
              "ppt"
            ]
          },
          "metadata": {
            "type": "object",
            "properties": {
              "sourceUrl": {
                "type": "string"
              },
              "finalUrl": {
                "type": "string"
              },
              "title": {
                "type": "string"
              },
              "description": {
                "type": "string"
              },
              "language": {
                "type": "string"
              },
              "keywords": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "canonicalUrl": {
                "type": "string"
              },
              "author": {
                "type": "string"
              },
              "siteName": {
                "type": "string"
              },
              "image": {
                "type": "string"
              },
              "favicon": {
                "type": "string"
              },
              "publishedTime": {
                "type": "string"
              },
              "modifiedTime": {
                "type": "string"
              },
              "robots": {
                "type": "string"
              },
              "openGraph": {
                "type": "object",
                "additionalProperties": {
                  "type": "object",
                  "additionalProperties": true
                }
              },
              "twitter": {
                "type": "object",
                "additionalProperties": {
                  "type": "object",
                  "additionalProperties": true
                }
              },
              "alternates": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "href": {
                      "type": "string"
                    },
                    "hreflang": {
                      "type": "string"
                    },
                    "type": {
                      "type": "string"
                    },
                    "title": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "href"
                  ],
                  "additionalProperties": false
                }
              },
              "headings": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "level": {
                      "type": "integer",
                      "minimum": 1,
                      "maximum": 6
                    },
                    "text": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "level",
                    "text"
                  ],
                  "additionalProperties": false
                }
              },
              "jsonLd": {
                "type": "array",
                "items": {
                  "type": "object",
                  "additionalProperties": true
                }
              },
              "additionalMeta": {
                "type": "object",
                "additionalProperties": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            },
            "required": [
              "sourceUrl",
              "finalUrl"
            ],
            "additionalProperties": false
          },
          "key_metadata": {
            "type": "object",
            "properties": {},
            "required": [],
            "additionalProperties": false
          },
          "actionsApplied": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "instruction": {
                  "type": "string"
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "applied",
                    "failed",
                    "skipped"
                  ]
                },
                "method": {
                  "type": "string"
                },
                "targetDescription": {
                  "type": "string"
                },
                "completionEvidence": {
                  "type": "string"
                },
                "error": {
                  "type": "string"
                },
                "durationMs": {
                  "type": "number"
                }
              },
              "required": [
                "instruction",
                "status"
              ],
              "additionalProperties": false
            }
          },
          "actionsHtmlStale": {
            "type": "boolean"
          }
        },
        "required": [
          "success",
          "html",
          "url",
          "type",
          "metadata"
        ],
        "additionalProperties": false
      },
      "meta": {
        "type": "object",
        "additionalProperties": true
      }
    },
    "required": [
      "data"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Deepline cost

* Pricing model: `fixed` (per call).
* Estimated Deepline credits: `0` per pricing unit.
* Provider-native pricing may still exist outside Deepline credit billing.

## Related documentation

* [Context.dev provider guide](/docs/providers/contextdev/guide)
* [SDK V2 quickstart](/docs/sdk-v2/quickstart)
* [SDK reference](/docs/sdk-v2/sdk-reference)
* [Run tools across a CSV](/docs/sdk-v2/batch-csv)
