> ## 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 Post Web Search

> Web Search. Context.dev Contextdev Post Web Search reference includes SDK V2 and CLI requests, input constraints, response fields, and Deepline cost.

Web Search.

<Info>
  Tool ID: `contextdev_post_web_search`
</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_post_web_search',
  {
    "query": "software companies hiring engineers"
  },
);

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

### CLI

```bash theme={null}
deepline tools execute contextdev_post_web_search --input '{
  "query": "software companies hiring engineers"
}' --json
```

## Example response

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

```json theme={null}
{
  "data": {
    "results": [
      {
        "url": "https://example.com",
        "title": "VP of Engineering",
        "description": "Example description",
        "relevance": "high",
        "markdown": {
          "markdown": "example",
          "code": "SUCCESS"
        }
      }
    ],
    "query": "software companies hiring engineers"
  }
}
```

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

## Input reference

Search the web and optionally scrape each result to Markdown in one round-trip.

| Name                      | Type                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   | Required | Default | Details                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `payload.query`           | `string`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | Yes      | —       | Search query. Accepts natural language as well as Google-style search operators such as `site:`, `-site:`, `inurl:`, `intitle:`, quoted phrases, and `OR`. Minimum length: 1. Maximum length: 500.                                                                                                                                                                                                                                                                                                                                                                 |
| `payload.numResults`      | `integer`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | No       | `10`    | Number of results to request and return (10–100). Defaults to 10. Minimum: 10. Maximum: 100.                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `payload.includeDomains`  | `array`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | No       | —       | Allowlist — only return results from these domains. Example: \["arxiv.org", "github.com"].                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| `payload.excludeDomains`  | `array`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | No       | —       | Blocklist — drop results from these domains. Example: \["pinterest.com", "reddit.com"].                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `payload.freshness`       | `"last_24_hours" \| "last_week" \| "last_month" \| "last_year"`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | No       | —       | Restrict results to content published within this window. Allowed: `last_24_hours`, `last_week`, `last_month`, `last_year`.                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| `payload.country`         | `"af" \| "al" \| "dz" \| "as" \| "ad" \| "ao" \| "ai" \| "aq" \| "ag" \| "ar" \| "am" \| "aw" \| "au" \| "at" \| "az" \| "bs" \| "bh" \| "bd" \| "bb" \| "by" \| "be" \| "bz" \| "bj" \| "bm" \| "bt" \| "bo" \| "ba" \| "bw" \| "bv" \| "br" \| "io" \| "bn" \| "bg" \| "bf" \| "bi" \| "kh" \| "cm" \| "ca" \| "cv" \| "ky" \| "cf" \| "td" \| "cl" \| "cn" \| "cx" \| "cc" \| "co" \| "km" \| "cg" \| "cd" \| "ck" \| "cr" \| "ci" \| "hr" \| "cu" \| "cy" \| "cz" \| "dk" \| "dj" \| "dm" \| "do" \| "ec" \| "eg" \| "sv" \| "gq" \| "er" \| "ee" \| "et" \| "fk" \| "fo" \| "fj" \| "fi" \| "fr" \| "gf" \| "pf" \| "tf" \| "ga" \| "gm" \| "ge" \| "de" \| "gh" \| "gi" \| "gr" \| "gl" \| "gd" \| "gp" \| "gu" \| "gt" \| "gn" \| "gw" \| "gy" \| "ht" \| "hm" \| "va" \| "hn" \| "hk" \| "hu" \| "is" \| "in" \| "id" \| "ir" \| "iq" \| "ie" \| "il" \| "it" \| "jm" \| "jp" \| "jo" \| "kz" \| "ke" \| "ki" \| "kp" \| "kr" \| "kw" \| "kg" \| "la" \| "lv" \| "lb" \| "ls" \| "lr" \| "ly" \| "li" \| "lt" \| "lu" \| "mo" \| "mk" \| "mg" \| "mw" \| "my" \| "mv" \| "ml" \| "mt" \| "mh" \| "mq" \| "mr" \| "mu" \| "yt" \| "mx" \| "fm" \| "md" \| "mc" \| "mn" \| "ms" \| "ma" \| "mz" \| "mm" \| "na" \| "nr" \| "np" \| "nl" \| "an" \| "nc" \| "nz" \| "ni" \| "ne" \| "ng" \| "nu" \| "nf" \| "mp" \| "no" \| "om" \| "pk" \| "pw" \| "ps" \| "pa" \| "pg" \| "py" \| "pe" \| "ph" \| "pn" \| "pl" \| "pt" \| "pr" \| "qa" \| "re" \| "ro" \| "ru" \| "rw" \| "sh" \| "kn" \| "lc" \| "pm" \| "vc" \| "ws" \| "sm" \| "st" \| "sa" \| "sn" \| "rs" \| "sc" \| "sl" \| "sg" \| "sk" \| "si" \| "sb" \| "so" \| "za" \| "gs" \| "es" \| "lk" \| "sd" \| "sr" \| "sj" \| "sz" \| "se" \| "ch" \| "sy" \| "tw" \| "tj" \| "tz" \| "th" \| "tl" \| "tg" \| "tk" \| "to" \| "tt" \| "tn" \| "tr" \| "tm" \| "tc" \| "tv" \| "ug" \| "ua" \| "ae" \| "gb" \| "us" \| "um" \| "uy" \| "uz" \| "vu" \| "ve" \| "vn" \| "vg" \| "vi" \| "wf" \| "eh" \| "ye" \| "zm" \| "zw"` | No       | —       | Two-letter ISO 3166-1 alpha-2 country code to localize results to a specific country (maps to Google's `gl` parameter). Example: "us", "gb", "de". Allowed: `af`, `al`, `dz`, `as`, `ad`, `ao`, `ai`, `aq`, `ag`, `ar`, `am`, `aw`, `au`, `at`, `az`, `bs`, `bh`, `bd`, `bb`, `by`, `be`, `bz`, `bj`, `bm`, `bt`, `bo`, `ba`, `bw`, `bv`, `br`, `io`, `bn`, `bg`, `bf`, `bi`, `kh`, `cm`, `ca`, `cv`, `ky`, `cf`, `td`, `cl`, `cn`, `cx`, `cc`, `co`, `km`, `cg`, `cd`, `ck`, `cr`, `ci`, `hr`, `cu`, `cy`, `cz`, See the live schema for the complete constraint. |
| `payload.queryFanout`     | `boolean`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | No       | —       | Expand the query into multiple parallel variants for broader recall.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| `payload.markdownOptions` | `object`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | No       | —       | Inline Markdown scraping for each result. Set `enabled: true` to activate.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| `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: 1000. Maximum: 300000.                                                                                                                                                                                                                                                                                                                                           |
| `payload.tags`            | `array`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                | No       | —       | Optional tags for tracking usage. Up to 20 tags, each 1 to 50 characters. Maximum items: 20.                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |

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

  ### Input JSON Schema

  ```json theme={null}
  {
    "type": "object",
    "description": "Search the web and optionally scrape each result to Markdown in one round-trip.",
    "properties": {
      "query": {
        "type": "string",
        "description": "Search query. Accepts natural language as well as Google-style search operators such as `site:`, `-site:`, `inurl:`, `intitle:`, quoted phrases, and `OR`.",
        "minLength": 1,
        "maxLength": 500
      },
      "numResults": {
        "type": "integer",
        "description": "Number of results to request and return (10–100). Defaults to 10.",
        "default": 10,
        "minimum": 10,
        "maximum": 100
      },
      "includeDomains": {
        "type": "array",
        "description": "Allowlist — only return results from these domains. Example: [\"arxiv.org\", \"github.com\"].",
        "items": {
          "type": "string"
        }
      },
      "excludeDomains": {
        "type": "array",
        "description": "Blocklist — drop results from these domains. Example: [\"pinterest.com\", \"reddit.com\"].",
        "items": {
          "type": "string"
        }
      },
      "freshness": {
        "type": "string",
        "description": "Restrict results to content published within this window.",
        "enum": [
          "last_24_hours",
          "last_week",
          "last_month",
          "last_year"
        ]
      },
      "country": {
        "type": "string",
        "description": "Two-letter ISO 3166-1 alpha-2 country code to localize results to a specific country (maps to Google's `gl` parameter). Example: \"us\", \"gb\", \"de\".",
        "enum": [
          "af",
          "al",
          "dz",
          "as",
          "ad",
          "ao",
          "ai",
          "aq",
          "ag",
          "ar",
          "am",
          "aw",
          "au",
          "at",
          "az",
          "bs",
          "bh",
          "bd",
          "bb",
          "by",
          "be",
          "bz",
          "bj",
          "bm",
          "bt",
          "bo",
          "ba",
          "bw",
          "bv",
          "br",
          "io",
          "bn",
          "bg",
          "bf",
          "bi",
          "kh",
          "cm",
          "ca",
          "cv",
          "ky",
          "cf",
          "td",
          "cl",
          "cn",
          "cx",
          "cc",
          "co",
          "km",
          "cg",
          "cd",
          "ck",
          "cr",
          "ci",
          "hr",
          "cu",
          "cy",
          "cz",
          "dk",
          "dj",
          "dm",
          "do",
          "ec",
          "eg",
          "sv",
          "gq",
          "er",
          "ee",
          "et",
          "fk",
          "fo",
          "fj",
          "fi",
          "fr",
          "gf",
          "pf",
          "tf",
          "ga",
          "gm",
          "ge",
          "de",
          "gh",
          "gi",
          "gr",
          "gl",
          "gd",
          "gp",
          "gu",
          "gt",
          "gn",
          "gw",
          "gy",
          "ht",
          "hm",
          "va",
          "hn",
          "hk",
          "hu",
          "is",
          "in",
          "id",
          "ir",
          "iq",
          "ie",
          "il",
          "it",
          "jm",
          "jp",
          "jo",
          "kz",
          "ke",
          "ki",
          "kp",
          "kr",
          "kw",
          "kg",
          "la",
          "lv",
          "lb",
          "ls",
          "lr",
          "ly",
          "li",
          "lt",
          "lu",
          "mo",
          "mk",
          "mg",
          "mw",
          "my",
          "mv",
          "ml",
          "mt",
          "mh",
          "mq",
          "mr",
          "mu",
          "yt",
          "mx",
          "fm",
          "md",
          "mc",
          "mn",
          "ms",
          "ma",
          "mz",
          "mm",
          "na",
          "nr",
          "np",
          "nl",
          "an",
          "nc",
          "nz",
          "ni",
          "ne",
          "ng",
          "nu",
          "nf",
          "mp",
          "no",
          "om",
          "pk",
          "pw",
          "ps",
          "pa",
          "pg",
          "py",
          "pe",
          "ph",
          "pn",
          "pl",
          "pt",
          "pr",
          "qa",
          "re",
          "ro",
          "ru",
          "rw",
          "sh",
          "kn",
          "lc",
          "pm",
          "vc",
          "ws",
          "sm",
          "st",
          "sa",
          "sn",
          "rs",
          "sc",
          "sl",
          "sg",
          "sk",
          "si",
          "sb",
          "so",
          "za",
          "gs",
          "es",
          "lk",
          "sd",
          "sr",
          "sj",
          "sz",
          "se",
          "ch",
          "sy",
          "tw",
          "tj",
          "tz",
          "th",
          "tl",
          "tg",
          "tk",
          "to",
          "tt",
          "tn",
          "tr",
          "tm",
          "tc",
          "tv",
          "ug",
          "ua",
          "ae",
          "gb",
          "us",
          "um",
          "uy",
          "uz",
          "vu",
          "ve",
          "vn",
          "vg",
          "vi",
          "wf",
          "eh",
          "ye",
          "zm",
          "zw"
        ]
      },
      "queryFanout": {
        "type": "boolean",
        "description": "Expand the query into multiple parallel variants for broader recall."
      },
      "markdownOptions": {
        "type": "object",
        "description": "Inline Markdown scraping for each result. Set `enabled: true` to activate.",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "Scrape each result to Markdown. Off by default to keep search cheap and fast.",
            "default": false
          },
          "includeLinks": {
            "type": "boolean",
            "description": "Keep hyperlinks in the Markdown.",
            "default": true
          },
          "includeImages": {
            "type": "boolean",
            "description": "Emit image references in the Markdown.",
            "default": false
          },
          "shortenBase64Images": {
            "type": "boolean",
            "description": "Truncate inline base64 image payloads to keep responses small.",
            "default": true
          },
          "useMainContentOnly": {
            "type": "boolean",
            "description": "Strip nav, header, footer, and sidebar — keep only the primary article content.",
            "default": false
          },
          "pdf": {
            "type": "object",
            "description": "PDF handling. Use start/end to bound text extraction and OCR to a page range.",
            "default": {
              "shouldParse": true
            },
            "properties": {
              "shouldParse": {
                "type": "boolean",
                "description": "Parse PDF URLs. When false, PDF results are skipped with WEBSITE_ACCESS_ERROR.",
                "default": true
              },
              "start": {
                "type": "integer",
                "description": "First PDF page to parse (1-based, inclusive). Defaults to page 1.",
                "minimum": 1
              },
              "end": {
                "type": "integer",
                "description": "Last PDF page to parse (1-based, inclusive). Defaults to the final page. Must be >= start.",
                "minimum": 1
              }
            },
            "additionalProperties": false
          },
          "includeFrames": {
            "type": "boolean",
            "description": "Render iframe contents into the Markdown.",
            "default": false
          },
          "maxAgeMs": {
            "type": "integer",
            "description": "Cache TTL in ms for scraped Markdown keyed by URL + options. Default 1 day, max 30 days. Set to 0 to force a fresh scrape.",
            "default": 86400000,
            "minimum": 0,
            "maximum": 2592000000
          },
          "waitForMs": {
            "type": "integer",
            "description": "Extra wait after page load before rendering, in ms (0–30000). Useful for JS-heavy pages.",
            "minimum": 0,
            "maximum": 30000
          },
          "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": 1000,
            "maximum": 300000
          }
        },
        "additionalProperties": false
      },
      "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": 1000,
        "maximum": 300000
      },
      "tags": {
        "type": "array",
        "description": "Optional tags for tracking usage. Up to 20 tags, each 1 to 50 characters.",
        "maxItems": 20,
        "items": {
          "type": "string",
          "minLength": 1,
          "maxLength": 50
        }
      }
    },
    "required": [
      "query"
    ],
    "additionalProperties": false
  }
  ```
</details>

## Output reference

| Name                                      | Type                                                                                                    | Required | Default | Details                                                                                               |
| ----------------------------------------- | ------------------------------------------------------------------------------------------------------- | -------- | ------- | ----------------------------------------------------------------------------------------------------- |
| `result.data`                             | `object`                                                                                                | Yes      | —       | —                                                                                                     |
| `result.data.results`                     | `array`                                                                                                 | Yes      | —       | —                                                                                                     |
| `result.data.results[].url`               | `string`                                                                                                | Yes      | —       | —                                                                                                     |
| `result.data.results[].title`             | `string`                                                                                                | Yes      | —       | —                                                                                                     |
| `result.data.results[].description`       | `string`                                                                                                | Yes      | —       | —                                                                                                     |
| `result.data.results[].relevance`         | `"high" \| "medium" \| "low"`                                                                           | Yes      | —       | Allowed: `high`, `medium`, `low`.                                                                     |
| `result.data.results[].markdown`          | `object`                                                                                                | Yes      | —       | —                                                                                                     |
| `result.data.results[].markdown.markdown` | `string \| null`                                                                                        | Yes      | —       | —                                                                                                     |
| `result.data.results[].markdown.code`     | `"SUCCESS" \| "NOT_REQUESTED" \| "TIMEOUT" \| "CONTENT_TOO_LARGE" \| "WEBSITE_ACCESS_ERROR" \| "ERROR"` | Yes      | —       | Allowed: `SUCCESS`, `NOT_REQUESTED`, `TIMEOUT`, `CONTENT_TOO_LARGE`, `WEBSITE_ACCESS_ERROR`, `ERROR`. |
| `result.data.query`                       | `string`                                                                                                | Yes      | —       | —                                                                                                     |
| `result.data.key_metadata`                | `object`                                                                                                | 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": {
          "results": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "url": {
                  "type": "string"
                },
                "title": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                },
                "relevance": {
                  "type": "string",
                  "enum": [
                    "high",
                    "medium",
                    "low"
                  ]
                },
                "markdown": {
                  "type": "object",
                  "properties": {
                    "markdown": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "code": {
                      "type": "string",
                      "enum": [
                        "SUCCESS",
                        "NOT_REQUESTED",
                        "TIMEOUT",
                        "CONTENT_TOO_LARGE",
                        "WEBSITE_ACCESS_ERROR",
                        "ERROR"
                      ]
                    }
                  },
                  "required": [
                    "markdown",
                    "code"
                  ],
                  "additionalProperties": false
                }
              },
              "required": [
                "url",
                "title",
                "description",
                "relevance",
                "markdown"
              ],
              "additionalProperties": false
            }
          },
          "query": {
            "type": "string"
          },
          "key_metadata": {
            "type": "object",
            "properties": {},
            "required": [],
            "additionalProperties": false
          }
        },
        "required": [
          "results",
          "query"
        ],
        "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)
