Context.dev Brand Intelligence API

The Brand Intelligence API from Context.dev — 7 operation(s) for brand intelligence.

Operations 8

GET /brand/retrieve Retrieve brand data by domain
POST /brand/retrieve Retrieve brand data
GET /brand/retrieve-by-name Retrieve brand data by company name
GET /brand/retrieve-by-email Retrieve brand data by email address
GET /brand/retrieve-by-ticker Retrieve brand data by stock ticker
GET /brand/retrieve-by-isin Retrieve brand data by ISIN
GET /brand/transaction_identifier Identify brand from transaction data
GET /brand/retrieve-simplified Retrieve simplified brand data by domain

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/contextdev-brand-intelligence-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

contextdev-brand-intelligence-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Context Brand Intelligence API
  description: API for retrieving context data from any website
  version: 1.0.0
servers:
- url: https://api.context.dev/v1
tags:
- name: Brand Intelligence
paths:
  /brand/retrieve:
    get:
      x-hidden: true
      summary: Retrieve brand data by domain
      description: Retrieve logos, backdrops, colors, industry, description, and more from any domain
      security:
      - bearerAuth: []
      tags:
      - Brand Intelligence
      x-mint:
        content: <Badge color="orange">10 Credits</Badge>
      parameters:
      - schema:
          type: string
          minLength: 3
          description: Domain name to retrieve brand data for (e.g., 'example.com', 'google.com'). Cannot be used with name or ticker parameters.
        required: false
        description: Domain name to retrieve brand data for (e.g., 'example.com', 'google.com'). Cannot be used with name or ticker parameters.
        name: domain
        in: query
      - schema:
          type: string
          minLength: 3
          maxLength: 30
          description: Company name to retrieve brand data for (e.g., 'Apple Inc'). Cannot be used with domain or ticker parameters.
        required: false
        description: Company name to retrieve brand data for (e.g., 'Apple Inc'). Cannot be used with domain or ticker parameters.
        name: name
        in: query
      - schema:
          type: string
          minLength: 1
          maxLength: 15
          pattern: ^[A-Za-z0-9.]+$
          description: Stock ticker symbol to retrieve brand data for (e.g., 'AAPL'). Cannot be used with domain or name parameters.
        required: false
        description: Stock ticker symbol to retrieve brand data for (e.g., 'AAPL'). Cannot be used with domain or name parameters.
        name: ticker
        in: query
      - schema:
          $ref: '#/components/schemas/StockExchange'
        required: false
        description: Stock exchange code.
        name: ticker_exchange
        in: query
      - schema:
          allOf:
          - $ref: '#/components/schemas/SupportedLanguage'
          - type:
            - string
            - 'null'
        required: false
        description: Language to force for the retrieved brand data.
        name: force_language
        in: query
      - schema:
          anyOf:
          - type: boolean
          - type: string
            enum:
            - 'true'
            - 'false'
          default: false
          description: Optional parameter to optimize the API call for maximum speed. When set to true, the API will skip time-consuming operations for faster response at the cost of less comprehensive data. Works with all three lookup methods.
        required: false
        description: Optional parameter to optimize the API call for maximum speed. When set to true, the API will skip time-consuming operations for faster response at the cost of less comprehensive data. Works with all three lookup methods.
        name: maxSpeed
        in: query
      - schema:
          type:
          - integer
          - 'null'
          default: 7776000000
          description: 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.
        required: false
        description: 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.
        name: maxAgeMs
        in: query
      - schema:
          $ref: '#/components/schemas/TimeoutMS'
        required: false
        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).
        name: timeoutMS
        in: query
      - $ref: '#/components/parameters/RequestTags'
      responses:
        '200':
          description: Successful response
          headers:
            X-RateLimit-Limit:
              $ref: '#/components/headers/RateLimitLimit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/RateLimitRemaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/RateLimitReset'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BrandResponse'
        '400':
          description: Bad Request
          headers:
            X-RateLimit-Limit:
              $ref: '#/components/headers/RateLimitLimit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/RateLimitRemaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/RateLimitReset'
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message
                  error_code:
                    type: string
                    enum:
                    - INTERNAL_ERROR
                    - VALID
                    - NOT_FOUND
                    - FORBIDDEN
                    - USAGE_EXCEEDED
                    - RATE_LIMITED
                    - UNAUTHORIZED
                    - DISABLED
                    - INSUFFICIENT_PERMISSIONS
                    - TIMEOUT_EXCEEDS_MAXIMUM
                    - WEBSITE_ACCESS_ERROR
                    - INPUT_VALIDATION_ERROR
                    description: Error code indicating the type of error
                  key_metadata:
                    $ref: '#/components/schemas/KeyMetadata'
        '401':
          description: Unauthorized
          headers:
            X-RateLimit-Limit:
              $ref: '#/components/headers/RateLimitLimit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/RateLimitRemaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/RateLimitReset'
          content:
            application/json:
              schema:
                type: object
                properties:
                  error_code:
                    type: string
                    enum:
                    - INTERNAL_ERROR
                    - VALID
                    - NOT_FOUND
                    - FORBIDDEN
                    - USAGE_EXCEEDED
                    - RATE_LIMITED
                    - UNAUTHORIZED
                    - DISABLED
                    - INSUFFICIENT_PERMISSIONS
                    - TIMEOUT_EXCEEDS_MAXIMUM
                    - WEBSITE_ACCESS_ERROR
                    - INPUT_VALIDATION_ERROR
                    description: Error code indicating the type of error
                  key_metadata:
                    $ref: '#/components/schemas/KeyMetadata'
        '408':
          description: Request Timeout
          headers:
            X-RateLimit-Limit:
              $ref: '#/components/headers/RateLimitLimit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/RateLimitRemaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/RateLimitReset'
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Timeout error message
                  error_code:
                    type: string
                    enum:
                    - REQUEST_TIMEOUT
                    description: Error code indicating request timeout
                  key_metadata:
                    $ref: '#/components/schemas/KeyMetadata'
        '429':
          $ref: '#/components/responses/RateLimited'
    post:
      summary: Retrieve brand data
      description: 'Retrieve logos, backdrops, colors, industry, description, and more. Provide exactly one lookup identifier in the request body: a domain, company name, email address, stock ticker, transaction descriptor, or direct URL. Note: `by_direct_url` fetches brand data only from the provided URL — not from the entire internet.'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BrandRetrieveRequest'
            examples:
              domain:
                summary: By domain
                value:
                  type: by_domain
                  domain: stripe.com
              name:
                summary: By name
                value:
                  type: by_name
                  name: Stripe
              email:
                summary: By email
                value:
                  type: by_email
                  email: jane@stripe.com
              ticker:
                summary: By stock
                value:
                  type: by_ticker
                  ticker: AAPL
                  ticker_exchange: NASDAQ
              direct_url:
                summary: By direct URL
                value:
                  type: by_direct_url
                  direct_url: https://stripe.com/enterprise
              transaction:
                summary: By transaction
                value:
                  type: by_transaction
                  transaction_info: SQ *COFFEE SHOP
                  country_gl: us
                  mcc: 5814
                  high_confidence_only: true
      security:
      - bearerAuth: []
      tags:
      - Brand Intelligence
      x-mint:
        content: <Badge color="orange">10 Credits</Badge>
      responses:
        '200':
          description: Successful response
          headers:
            X-RateLimit-Limit:
              $ref: '#/components/headers/RateLimitLimit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/RateLimitRemaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/RateLimitReset'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BrandResponse'
        '400':
          description: Bad Request
          headers:
            X-RateLimit-Limit:
              $ref: '#/components/headers/RateLimitLimit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/RateLimitRemaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/RateLimitReset'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          headers:
            X-RateLimit-Limit:
              $ref: '#/components/headers/RateLimitLimit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/RateLimitRemaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/RateLimitReset'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '408':
          description: Request Timeout
          headers:
            X-RateLimit-Limit:
              $ref: '#/components/headers/RateLimitLimit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/RateLimitRemaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/RateLimitReset'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Unprocessable Entity - Free email or disposable email detected
          headers:
            X-RateLimit-Limit:
              $ref: '#/components/headers/RateLimitLimit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/RateLimitRemaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/RateLimitReset'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          $ref: '#/components/responses/RateLimited'
      x-codeSamples:
      - lang: JavaScript
        source: "import ContextDev from 'context.dev';\n\nconst client = new ContextDev({\n  apiKey: process.env['CONTEXT_DEV_API_KEY'], // This is the default and can be omitted\n});\n\nconst brand = await client.brand.retrieve({ domain: 'stripe.com', type: 'by_domain' });\n\nconsole.log(brand.brand);"
      - lang: Python
        source: "import os\nfrom context.dev import ContextDev\n\nclient = ContextDev(\n    api_key=os.environ.get(\"CONTEXT_DEV_API_KEY\"),  # This is the default and can be omitted\n)\nbrand = client.brand.retrieve(\n    domain=\"stripe.com\",\n    type=\"by_domain\",\n)\nprint(brand.brand)"
      - lang: Go
        source: "package main\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\n\t\"github.com/context-dot-dev/context-go-sdk\"\n\t\"github.com/context-dot-dev/context-go-sdk/option\"\n)\n\nfunc main() {\n\tclient := contextdev.NewClient(\n\t\toption.WithAPIKey(\"My API Key\"),\n\t)\n\tbrand, err := client.Brand.Get(context.TODO(), contextdev.BrandGetParams{\n\t\tOfByDomain: &contextdev.BrandGetParamsBodyByDomain{\n\t\t\tDomain: \"stripe.com\",\n\t\t},\n\t})\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf(\"%+v\\n\", brand.Brand)\n}\n"
      - lang: Ruby
        source: 'require "context_dev"


          context_dev = ContextDev::Client.new(api_key: "My API Key")


          brand = context_dev.brand.retrieve(body: {domain: "stripe.com", type: :by_domain})


          puts(brand)'
      - lang: PHP
        source: "<?php\n\nrequire_once dirname(__DIR__) . '/vendor/autoload.php';\n\nuse ContextDev\\Client;\nuse ContextDev\\Core\\Exceptions\\APIException;\n\n$client = new Client(apiKey: getenv('CONTEXT_DEV_API_KEY') ?: 'My API Key');\n\ntry {\n  $brand = $client->brand->retrieve(\n    domain: 'xxx',\n    type: 'by_transaction',\n    forceLanguage: 'afrikaans',\n    maxAgeMs: 0,\n    maxSpeed: true,\n    tags: ['production', 'team-alpha'],\n    timeoutMs: 1000,\n    name: 'xxx',\n    countryGl: 'country_gl',\n    email: 'dev@stainless.com',\n    ticker: 'ticker',\n    tickerExchange: 'ticker_exchange',\n    directURL: 'https://example.com',\n    transactionInfo: 'xxx',\n    city: 'city',\n    highConfidenceOnly: true,\n    mcc: 'string',\n    phone: 'string',\n  );\n\n  var_dump($brand);\n} catch (APIException $e) {\n  echo $e->getMessage();\n}"
      - lang: CLI
        source: "context-dev brand retrieve \\\n  --api-key 'My API Key' \\\n  --domain xxx \\\n  --type by_domain \\\n  --name xxx \\\n  --email dev@stainless.com \\\n  --ticker ticker \\\n  --direct-url https://example.com \\\n  --transaction-info xxx"
  /brand/retrieve-by-name:
    get:
      x-hidden: true
      summary: Retrieve brand data by company name
      description: Retrieve brand information using a company name.
      security:
      - bearerAuth: []
      tags:
      - Brand Intelligence
      x-mint:
        content: <Badge color="orange">10 Credits</Badge>
      parameters:
      - schema:
          type: string
          minLength: 3
          maxLength: 30
          description: Company name to retrieve brand data for (e.g., 'Apple Inc', 'Microsoft Corporation'). Must be 3-30 characters.
        required: true
        description: Company name to retrieve brand data for (e.g., 'Apple Inc', 'Microsoft Corporation'). Must be 3-30 characters.
        name: name
        in: query
      - schema:
          allOf:
          - $ref: '#/components/schemas/SupportedLanguage'
          - type:
            - string
            - 'null'
        required: false
        description: Language to force for the retrieved brand data.
        name: force_language
        in: query
      - schema:
          anyOf:
          - type: boolean
          - type: string
            enum:
            - 'true'
            - 'false'
          default: false
          description: Optional parameter to optimize the API call for maximum speed. When set to true, the API will skip time-consuming operations for faster response at the cost of less comprehensive data.
        required: false
        description: Optional parameter to optimize the API call for maximum speed. When set to true, the API will skip time-consuming operations for faster response at the cost of less comprehensive data.
        name: maxSpeed
        in: query
      - schema:
          $ref: '#/components/schemas/CountryGL'
        required: false
        description: Two-letter ISO 3166-1 alpha-2 country code (GL parameter) used to localize search.
        name: country_gl
        in: query
      - schema:
          type:
          - integer
          - 'null'
          default: 7776000000
          description: 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.
        required: false
        description: 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.
        name: maxAgeMs
        in: query
      - schema:
          $ref: '#/components/schemas/TimeoutMS'
        required: false
        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).
        name: timeoutMS
        in: query
      - $ref: '#/components/parameters/RequestTags'
      responses:
        '200':
          description: Successful response
          headers:
            X-RateLimit-Limit:
              $ref: '#/components/headers/RateLimitLimit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/RateLimitRemaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/RateLimitReset'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BrandResponse'
        '400':
          description: Bad Request - Invalid company name or company not found
          headers:
            X-RateLimit-Limit:
              $ref: '#/components/headers/RateLimitLimit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/RateLimitRemaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/RateLimitReset'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '408':
          description: Request Timeout
          headers:
            X-RateLimit-Limit:
              $ref: '#/components/headers/RateLimitLimit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/RateLimitRemaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/RateLimitReset'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          $ref: '#/components/responses/RateLimited'
        '500':
          description: Internal Server Error
          headers:
            X-RateLimit-Limit:
              $ref: '#/components/headers/RateLimitLimit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/RateLimitRemaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/RateLimitReset'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /brand/retrieve-by-email:
    get:
      x-hidden: true
      summary: Retrieve brand data by email address
      description: Retrieve brand information using an email address while detecting disposable and free email addresses. Disposable and free email addresses (like gmail.com, yahoo.com) will throw a 422 error.
      security:
      - bearerAuth: []
      tags:
      - Brand Intelligence
      x-mint:
        content: <Badge color="orange">10 Credits</Badge>
      parameters:
      - schema:
          type: string
          minLength: 1
          format: email
          description: Email address to retrieve brand data for (e.g., 'contact@example.com'). The domain will be extracted from the email. Free email providers (gmail.com, yahoo.com, etc.) and disposable email addresses are not allowed.
        required: true
        description: Email address to retrieve brand data for (e.g., 'contact@example.com'). The domain will be extracted from the email. Free email providers (gmail.com, yahoo.com, etc.) and disposable email addresses are not allowed.
        name: email
        in: query
      - schema:
          allOf:
          - $ref: '#/components/schemas/SupportedLanguage'
          - type:
            - string
            - 'null'
        required: false
        description: Language to force for the retrieved brand data.
        name: force_language
        in: query
      - schema:
          anyOf:
          - type: boolean
          - type: string
            enum:
            - 'true'
            - 'false'
          default: false
          description: Optional parameter to optimize the API call for maximum speed. When set to true, the API will skip time-consuming operations for faster response at the cost of less comprehensive data.
        required: false
        description: Optional parameter to optimize the API call for maximum speed. When set to true, the API will skip time-consuming operations for faster response at the cost of less comprehensive data.
        name: maxSpeed
        in: query
      - schema:
          type:
          - integer
          - 'null'
          default: 7776000000
          description: 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.
        required: false
        description: 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.
        name: maxAgeMs
        in: query
      - schema:
          $ref: '#/components/schemas/TimeoutMS'
        required: false
        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).
        name: timeoutMS
        in: query
      - $ref: '#/components/parameters/RequestTags'
      responses:
        '200':
          description: Successful response
          headers:
            X-RateLimit-Limit:
              $ref: '#/components/headers/RateLimitLimit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/RateLimitRemaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/RateLimitReset'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BrandResponse'
        '400':
          description: Bad Request - Invalid email or domain not found
          headers:
            X-RateLimit-Limit:
              $ref: '#/components/headers/RateLimitLimit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/RateLimitRemaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/RateLimitReset'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '408':
          description: Request Timeout
          headers:
            X-RateLimit-Limit:
              $ref: '#/components/headers/RateLimitLimit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/RateLimitRemaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/RateLimitReset'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Unprocessable Entity - Free email or disposable email detected
          headers:
            X-RateLimit-Limit:
              $ref: '#/components/headers/RateLimitLimit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/RateLimitRemaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/RateLimitReset'
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message
                  status:
                    type: string
                    description: Status of the response, e.g., 'error'
                  error_code:
                    type: string
                    enum:
                    - FREE_EMAIL_DETECTED
                    - DISPOSABLE_EMAIL_DETECTED
                    description: Error code indicating whether a free email provider or disposable email was detected
                  key_metadata:
                    $ref: '#/components/schemas/KeyMetadata'
        '429':
          $ref: '#/components/responses/RateLimited'
        '500':
          description: Internal Server Error
          headers:
            X-RateLimit-Limit:
              $ref: '#/components/headers/RateLimitLimit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/RateLimitRemaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/RateLimitReset'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /brand/retrieve-by-ticker:
    get:
      x-hidden: true
      summary: Retrieve brand data by stock ticker
      description: Retrieve brand information using a stock ticker symbol.
      security:
      - bearerAuth: []
      tags:
      - Brand Intelligence
      x-mint:
        content: <Badge color="orange">10 Credits</Badge>
      parameters:
      - schema:
          type: string
          minLength: 1
          maxLength: 15
          pattern: ^[A-Za-z0-9.]+$
          description: Stock ticker symbol to retrieve brand data for (e.g., 'AAPL', 'GOOGL', 'BRK.A'). Must be 1-15 characters, letters/numbers/dots only.
        required: true
        description: Stock ticker symbol to retrieve brand data for (e.g., 'AAPL', 'GOOGL', 'BRK.A'). Must be 1-15 characters, letters/numbers/dots only.
        name: ticker
        in: query
      - schema:
          $ref: '#/components/schemas/StockExchange'
        required: false
        description: Stock exchange code.
        name: ticker_exchange
        in: query
      - schema:
          allOf:
          - $ref: '#/components/schemas/SupportedLanguage'
          - type:
            - string
            - 'null'
        required: false
        description: Language to force for the retrieved brand data.
        name: force_language
        in: query
      - schema:
          anyOf:
          - type: boolean
          - type: string
            enum:
            - 'true'
            - 'false'
          default: false
          description: Optional parameter to optimize the API call for maximum speed. When set to true, the API will skip time-consuming operations for faster response at the cost of less comprehensive data.
        required: false
        description: Optional parameter to optimize the API call for maximum speed. When set to true, the API will skip time-consuming operations for faster response at the cost of less comprehensive data.
        name: maxSpeed
        in: query
      - schema:
          type:
          - integer
          - 'null'
          default: 7776000000
          description: 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.
        required: false
        description: 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.
        name: maxAgeMs
        in: query
      - schema:
          $ref: '#/components/schemas/TimeoutMS'
        required: false
        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).
        name: timeoutMS
        in: query
      - $ref: '#/components/parameters/RequestTags'
      responses:
        '200':
          description: Successful response
          headers:
            X-RateLimit-Limit:
              $ref: '#/components/headers/RateLimitLimit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/RateLimitRemaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/RateLimitReset'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BrandResponse'
        '400':
          description: Bad Request - Invalid ticker or ticker not found
          headers:
            X-RateLimit-Limit:
              $ref: '#/components/headers/RateLimitLimit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/RateLimitRemaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/RateLimitReset'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '408':
          description: Request Timeout
          headers:
            X-RateLimit-Limit:
              $ref: '#/components/headers/RateLimitLimit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/RateLimitRemaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/RateLimitReset'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          $ref: '#/components/responses/RateLimited'
        '500':
          description: Internal Server Error
          headers:
            X-RateLimit-Limit:
              $ref: '#/components/headers/RateLimitLimit'
            X-RateLimit-Remaining:
              $ref: '#/components/headers/RateLimitRemaining'
            X-RateLimit-Reset:
              $ref: '#/components/headers/RateLimitReset'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /brand/retrieve-by-isin:
    get:
      x-hidden: true
      summary: Retrieve brand data by ISIN
      description: 'Retrieve brand information using an ISIN (International Securities Identification Number). '
      security:
      - bearerAuth: []
      tags:
      - Brand Intelligence
      x-mint:
        content: <Badge color="orange">10 Credits</Badge>
      parameters:
      - schema:
          type: string
          minLength: 12
          maxLength: 12
          pattern: ^[A-Z]{2}[A-Z0-9]{9}[0-9]$
          description: 'ISIN (International Securities Identification Number) to retrieve brand data for (e.g., ''AU000000IMD5'', ''US0378331005''). Must be exactly 12 characters: 2 letters followed by 9 alphanumeric characters and ending with a digit.'
        required: true
        description: 'ISIN (International Securities Identification Number) to retrieve brand data for (e.g., ''AU000000IMD5'', ''US0378331005''). Must be exactly 12 characters: 2 letters followed by 9 alphanumeric characters and ending with a digit.'
        name: isin
        in: query
      - schema:
          allOf:
          - $ref: '#/components/schemas/SupportedLanguage'
          - type:
            - string
            - 'null'
        required

# --- truncated at 32 KB (93 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/contextdev/refs/heads/main/openapi/contextdev-brand-intelligence-api-openapi.yml