> ## 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 Brand Retrieve

> Get a company's brand profile, logo, colors, and description from its domain, name, email, or stock ticker. Includes SDK V2 examples, schemas, and cost.

Get a company's brand profile, logo, colors, and description from its domain, name, email, or stock ticker.

> [!NOTE]
>
> Tool ID: `contextdev_post_brand_retrieve`

## Run this action

Use the TypeScript SDK for one call. Use `ctx.tools.execute(...)` inside a Play for durable calls, scheduled calls, or CSV processing.

```ts theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
import { Deepline } from 'deepline';

const deepline = await Deepline.connect();
const result = await deepline.tools.execute(
  'contextdev_post_brand_retrieve',
  {
    "type": "by_domain",
    "domain": "example.com"
  },
);

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

### CLI

```bash theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
deepline tools execute contextdev_post_brand_retrieve --input '{
  "type": "by_domain",
  "domain": "example.com"
}' --json
```

## Example response

The SDK returns this shape at `result.toolResponse.raw`. The example values illustrate the response.

```json theme={"languages":{"custom":["/languages/deepline-prompt.json"]}}
{
  "data": {
    "status": "example",
    "brand": {
      "domain": "example.com",
      "title": "VP of Engineering",
      "description": "Example description"
    },
    "code": 123
  }
}
```

Use `deepline describe contextdev_post_brand_retrieve --json` for the latest machine-readable contract.

## Input reference

Exactly one lookup type must be provided.

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `payload.force_language` | `"afrikaans" \| "albanian" \| "amharic" \| "arabic" \| "armenian" \| "assamese" \| "aymara" \| "azeri" \| "basque" \| "belarusian" \| "bengali" \| "bosnian" \| "bulgarian" \| "burmese" \| "cantonese" \| "catalan" \| "cebuano" \| "chinese" \| "corsican" \| "croatian" \| "czech" \| "danish" \| "dutch" \| "english" \| "esperanto" \| "estonian" \| "farsi" \| "fijian" \| "finnish" \| "french" \| "galician" \| "georgian" \| "german" \| "greek" \| "guarani" \| "gujarati" \| "haitian-creole" \| "hausa" \| "hawaiian" \| "hebrew" \| "hindi" \| "hmong" \| "hungarian" \| "icelandic" \| "igbo" \| "indonesian" \| "irish" \| "italian" \| "japanese" \| "javanese" \| "kannada" \| "kazakh" \| "khmer" \| "kinyarwanda" \| "korean" \| "kurdish" \| "kyrgyz" \| "lao" \| "latin" \| "latvian" \| "lingala" \| "lithuanian" \| "luxembourgish" \| "macedonian" \| "malagasy" \| "malay" \| "malayalam" \| "maltese" \| "maori" \| "marathi" \| "mongolian" \| "nepali" \| "norwegian" \| "odia" \| "oromo" \| "pashto" \| "pidgin" \| "polish" \| "portuguese" \| "punjabi" \| "quechua" \| "romanian" \| "russian" \| "samoan" \| "scottish-gaelic" \| "serbian" \| "sesotho" \| "shona" \| "sindhi" \| "sinhala" \| "slovak" \| "slovene" \| "somali" \| "spanish" \| "sundanese" \| "swahili" \| "swedish" \| "tagalog" \| "tajik" \| "tamil" \| "tatar" \| "telugu" \| "thai" \| "tibetan" \| "tigrinya" \| "tongan" \| "tswana" \| "turkish" \| "turkmen" \| "ukrainian" \| "urdu" \| "uyghur" \| "uzbek" \| "vietnamese" \| "welsh" \| "wolof" \| "xhosa" \| "yiddish" \| "yoruba" \| "zulu"` | No | — | Language to force for the retrieved brand data. Allowed: `afrikaans`, `albanian`, `amharic`, `arabic`, `armenian`, `assamese`, `aymara`, `azeri`, `basque`, `belarusian`, `bengali`, `bosnian`, `bulgarian`, `burmese`, `cantonese`, `catalan`, `cebuano`, `chinese`, `corsican`, `croatian`, `czech`, `danish`, `dutch`, `english`, `esperanto`, `estonian`, `farsi`, `fijian`, `finnish`, `french`, `galician`, `georgian`, `german`, `greek`, `guarani`, `gujarati`, `haitian-creole`, `hausa`, `hawaiian`, See the live schema for the complete constraint. |
| `payload.maxSpeed` | `boolean` | No | — | Optional parameter to optimize the API call for maximum speed. |
| `payload.maxAgeMs` | `integer` | No | — | Maximum age in milliseconds for cached brand data before the API performs a hard refresh. Defaults to 3 months (7776000000 ms). Values below 1 day (86400000 ms) are clamped to 1 day. values above 1 year (31536000000 ms) are clamped to 1 year. |
| `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.type` | `"by_domain" \| "by_name" \| "by_email" \| "by_ticker" \| "by_direct_url" \| "by_transaction"` | Yes | — | Discriminator for domain-based brand retrieval. Allowed: `by_domain`, `by_name`, `by_email`, `by_ticker`, `by_direct_url`, `by_transaction`. |
| `payload.domain` | `string` | No | — | Domain name to retrieve brand data for (e.g., 'stripe.com'). Minimum length: 3. |
| `payload.tags` | `array` | No | — | Optional tags for tracking usage. Up to 20 tags, each 1 to 50 characters. Maximum items: 20. |
| `payload.name` | `string` | No | — | Company name to retrieve brand data for (e.g., 'Apple Inc'). Minimum length: 3. Maximum length: 30. |
| `payload.country_gl` | `string` | No | — | — |
| `payload.email` | `string` | No | — | Email address to retrieve brand data for (e.g., '[jane@stripe.com](mailto:jane@stripe.com)'). Format: `email`. Minimum length: 1. |
| `payload.ticker` | `string` | No | — | Stock ticker symbol to retrieve brand data for (e.g., 'AAPL'). Minimum length: 1. Maximum length: 15. Pattern: `^[A-Za-z0-9.]+$`. |
| `payload.ticker_exchange` | `string` | No | — | Optional stock exchange for the ticker. Defaults to NASDAQ if not specified. |
| `payload.direct_url` | `string` | No | — | Full http(s) URL to fetch brand data from (e.g., '[https://stripe.com/enterprise](https://stripe.com/enterprise)'). Only this URL is fetched — not the entire internet. Format: `uri`. |
| `payload.transaction_info` | `string` | No | — | Transaction information to identify the brand. Minimum length: 3. Maximum length: 500. |
| `payload.city` | `string` | No | — | Optional city name to prioritize when searching for the brand. |
| `payload.mcc` | `string \| number` | No | — | Optional Merchant Category Code (MCC) to help identify the business category or industry. |
| `payload.phone` | `string \| number` | No | — | Optional phone number from the transaction to help verify brand match. |
| `payload.high_confidence_only` | `boolean` | No | — | When set to true, the API performs additional verification to ensure the identified brand matches the transaction with high confidence. |

> [!NOTE]
>
> This input schema is too large for an inline display. Read the complete live contract with `deepline describe contextdev_post_brand_retrieve --json`.

## Output reference

| Name | Type | Required | Default | Details |
| - | - | - | - | - |
| `result.data` | `object` | Yes | — | — |
| `result.data.status` | `string` | No | — | — |
| `result.data.brand` | `object` | No | — | — |
| `result.data.brand.domain` | `string` | No | — | — |
| `result.data.brand.title` | `string` | No | — | — |
| `result.data.brand.description` | `string` | No | — | — |
| `result.data.brand.slogan` | `string` | No | — | — |
| `result.data.brand.colors` | `array` | No | — | — |
| `result.data.brand.colors[].hex` | `string` | No | — | — |
| `result.data.brand.colors[].name` | `string` | No | — | — |
| `result.data.brand.logos` | `array` | No | — | — |
| `result.data.brand.logos[].url` | `string` | No | — | — |
| `result.data.brand.logos[].mode` | `"light" \| "dark" \| "has_opaque_background"` | No | — | Allowed: `light`, `dark`, `has_opaque_background`. |
| `result.data.brand.logos[].colors` | `array` | No | — | — |
| `result.data.brand.logos[].colors[].hex` | `string` | No | — | — |
| `result.data.brand.logos[].colors[].name` | `string` | No | — | — |
| `result.data.brand.logos[].resolution` | `object` | No | — | — |
| `result.data.brand.logos[].resolution.width` | `integer` | No | — | — |
| `result.data.brand.logos[].resolution.height` | `integer` | No | — | — |
| `result.data.brand.logos[].resolution.aspect_ratio` | `number` | No | — | — |
| `result.data.brand.logos[].type` | `"icon" \| "logo"` | No | — | Allowed: `icon`, `logo`. |
| `result.data.brand.backdrops` | `array` | No | — | — |
| `result.data.brand.backdrops[].url` | `string` | No | — | — |
| `result.data.brand.backdrops[].colors` | `array` | No | — | — |
| `result.data.brand.backdrops[].colors[].hex` | `string` | No | — | — |
| `result.data.brand.backdrops[].colors[].name` | `string` | No | — | — |
| `result.data.brand.backdrops[].resolution` | `object` | No | — | — |
| `result.data.brand.backdrops[].resolution.width` | `integer` | No | — | — |
| `result.data.brand.backdrops[].resolution.height` | `integer` | No | — | — |
| `result.data.brand.backdrops[].resolution.aspect_ratio` | `number` | No | — | — |
| `result.data.brand.socials` | `array` | No | — | — |
| `result.data.brand.socials[].type` | `"x" \| "facebook" \| "instagram" \| "linkedin" \| "youtube" \| "pinterest" \| "tiktok" \| "dribbble" \| "github" \| "behance" \| "snapchat" \| "whatsapp" \| "telegram" \| "line" \| "discord" \| "twitch" \| "vimeo" \| "imdb" \| "tumblr" \| "flickr" \| "giphy" \| "medium" \| "spotify" \| "soundcloud" \| "tripadvisor" \| "yelp" \| "producthunt" \| "reddit" \| "crunchbase" \| "appstore" \| "playstore"` | No | — | Allowed: `x`, `facebook`, `instagram`, `linkedin`, `youtube`, `pinterest`, `tiktok`, `dribbble`, `github`, `behance`, `snapchat`, `whatsapp`, `telegram`, `line`, `discord`, `twitch`, `vimeo`, `imdb`, `tumblr`, `flickr`, `giphy`, `medium`, `spotify`, `soundcloud`, `tripadvisor`, `yelp`, `producthunt`, `reddit`, `crunchbase`, `appstore`, `playstore`. |
| `result.data.brand.socials[].url` | `string` | No | — | — |
| `result.data.brand.address` | `object` | No | — | — |
| `result.data.brand.address.street` | `string` | No | — | — |
| `result.data.brand.address.city` | `string` | No | — | — |
| `result.data.brand.address.country` | `string` | No | — | — |
| `result.data.brand.address.country_code` | `string` | No | — | — |
| `result.data.brand.address.state_province` | `string` | No | — | — |
| `result.data.brand.address.state_code` | `string` | No | — | — |
| `result.data.brand.address.postal_code` | `string` | No | — | — |
| `result.data.brand.stock` | `object` | No | — | — |
| `result.data.brand.stock.ticker` | `string` | No | — | — |
| `result.data.brand.stock.exchange` | `string` | No | — | — |
| `result.data.brand.employees` | `object` | No | — | — |
| `result.data.brand.employees.range` | `"1 to 10" \| "11 to 50" \| "51 to 200" \| "201 to 500" \| "501 to 1000" \| "1001 to 5000" \| "5001 to 10000" \| "10001+"` | No | — | Allowed: `1 to 10`, `11 to 50`, `51 to 200`, `201 to 500`, `501 to 1000`, `1001 to 5000`, `5001 to 10000`, `10001+`. |
| `result.data.brand.employees.exact` | `integer` | No | — | — |
| `result.data.brand.is_nsfw` | `boolean` | No | — | — |
| `result.data.brand.email` | `string` | No | — | — |
| `result.data.brand.phone` | `string` | No | — | — |

The table shows the first 50 fields. Use the live contract below for every field.

> [!NOTE]
>
> This output schema is too large for an inline display. Read the complete live contract with `deepline describe contextdev_post_brand_retrieve --json`.

## Deepline cost

* Pricing model: `provider_usage` (provider usage).
* Estimated Deepline credits: `0.01` per pricing unit.

## Related documentation

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


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