openapi: 3.1.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: 10 Credits 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: 10 Credits 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: "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: 10 Credits 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: 10 Credits 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: 10 Credits 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: 10 Credits 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: 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 ISIN or ISIN 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/transaction_identifier: get: x-hidden: true summary: Identify brand from transaction data description: Endpoint specially designed for platforms that want to identify transaction data by the transaction title. security: - bearerAuth: [] tags: - Brand Intelligence x-mint: content: 10 Credits parameters: - schema: type: string minLength: 3 maxLength: 500 description: Transaction information to identify the brand required: true description: Transaction information to identify the brand name: transaction_info 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/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 - 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: string description: Optional city name to prioritize when searching for the brand. required: false description: Optional city name to prioritize when searching for the brand. name: city in: query - schema: anyOf: - type: string - type: number description: Optional Merchant Category Code (MCC) to help identify the business category/industry. required: false description: Optional Merchant Category Code (MCC) to help identify the business category/industry. name: mcc in: query - schema: anyOf: - type: string - type: number description: Optional phone number from the transaction to help verify brand match. required: false description: Optional phone number from the transaction to help verify brand match. name: phone in: query - schema: anyOf: - type: boolean - type: string enum: - 'true' - 'false' default: false description: When set to true, the API will perform an additional verification steps to ensure the identified brand matches the transaction with high confidence. required: false description: When set to true, the API will perform an additional verification steps to ensure the identified brand matches the transaction with high confidence. name: high_confidence_only 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' '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' '429': $ref: '#/components/responses/RateLimited' /brand/retrieve-simplified: get: summary: Retrieve simplified brand data by domain description: 'Returns a simplified version of brand data containing only essential information: domain, title, colors, logos, and backdrops. Optimized for faster responses and reduced data transfer.' security: - bearerAuth: [] tags: - Brand Intelligence x-mint: content: 10 Credits parameters: - schema: type: string minLength: 3 description: Domain name to retrieve simplified brand data for required: true description: Domain name to retrieve simplified brand data for name: domain 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 - schema: type: string enum: - light - dark description: Optional theme preference used when selecting brand assets. required: false description: Optional theme preference used when selecting brand assets. name: theme 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/SimplifiedBrandResponse' '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' '404': description: Brand 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: 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' '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: type: object properties: message: type: string description: Error message status: type: string description: Status of the response, e.g., 'error' error_code: type: string description: Error code indicating the type of error key_metadata: $ref: '#/components/schemas/KeyMetadata' 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 response = await client.brand.retrieveSimplified({ domain: 'xxx' });\n\nconsole.log(response.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)\nresponse = client.brand.retrieve_simplified(\n domain=\"xxx\",\n)\nprint(response.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\tresponse, err := client.Brand.GetSimplified(context.TODO(), contextdev.BrandGetSimplifiedParams{\n\t\tDomain: \"xxx\",\n\t})\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf(\"%+v\\n\", response.Brand)\n}\n" - lang: Ruby source: 'require "context_dev" context_dev = ContextDev::Client.new(api_key: "My API Key") response = context_dev.brand.retrieve_simplified(domain: "xxx") puts(response)' - lang: PHP source: "brand->retrieveSimplified(\n domain: 'xxx',\n maxAgeMs: 0,\n tags: ['production', 'team-alpha'],\n theme: 'light',\n timeoutMs: 1000,\n );\n\n var_dump($response);\n} catch (APIException $e) {\n echo $e->getMessage();\n}" - lang: CLI source: "context-dev brand retrieve-simplified \\\n --api-key 'My API Key' \\\n --domain xxx" components: schemas: BrandRetrieveByDirectUrlRequest: type: object properties: type: type: string enum: - by_direct_url description: Discriminator for direct-URL-based brand retrieval. direct_url: type: string format: uri description: Full http(s) URL to fetch brand data from (e.g., 'https://stripe.com/enterprise'). Only this URL is fetched — not the entire internet. timeoutMS: $ref: '#/components/schemas/TimeoutMS' tags: $ref: '#/components/schemas/RequestTags' required: - type - direct_url additionalProperties: false title: By direct URL description: 'Retrieve brand data by fetching the provided URL directly. Note: if you use this, brand data is fetched only from the provided URL — not from the entire internet — so results are limited to what that single page contains. No domain resolution, database lookup, or cross-source enrichment is performed. Cannot be combined with domain, name, email, or ticker.' TimeoutMS: type: integer minimum: 1000 maximum: 300000 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). BrandRetrieveByEmailRequest: type: object properties: force_language: allOf: - $ref: '#/components/schemas/SupportedLanguage' - type: - string - 'null' maxSpeed: type: boolean 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. maxAgeMs: type: integer 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. timeoutMS: $ref: '#/components/schemas/TimeoutMS' type: type: string enum: - by_email description: Discriminator for email-based brand retrieval. email: type: string minLength: 1 format: email description: Email address to retrieve brand data for (e.g., 'jane@stripe.com'). tags: $ref: '#/components/schemas/RequestTags' required: - type - email additionalProperties: false title: By email description: Retrieve brand data by email address. The domain is extracted from the email. Free and disposable email providers are rejected with 422. Cannot be combined with domain, name, or ticker. Subindustry: type: string enum: - Defense Systems & Military Hardware - Aerospace Manufacturing - Avionics & Navigation Technology - Subsea & Naval Defense Systems - Space & Satellite Technology - Defense IT & Systems Integration - Software (B2B) - Software (B2C) - Cloud Infrastructure & DevOps - Cybersecurity - Artificial Intelligence & Machine Learning - Data Infrastructure & Analytics - Hardware & Semiconductors - Fintech Infrastructure - eCommerce & Marketplace Platforms - Developer Tools & APIs - Web3 & Blockchain - XR & Spatial Computing - Banking & Lending - Investment Management & WealthTech - Insurance & InsurTech - Payments & Money Movement - Accounting, Tax & Financial Planning Tools - Capital Markets & Trading Platforms - Financial Infrastructure & APIs - Credit Scoring & Risk Management - Cryptocurrency & Digital Assets - BNPL & Alternative Financing - Healthcare Providers & Services - Pharmaceuticals & Drug Development - Medical Devices & Diagnostics - Biotechnology & Genomics - Digital Health & Telemedicine - Health Insurance & Benefits Tech - Clinical Trials & Research Platforms - Mental Health & Wellness - Healthcare IT & EHR Systems - Consumer Health & Wellness Products - Online Marketplaces - Direct-to-Consumer (DTC) Brands - Retail Tech & Point-of-Sale Systems - Omnichannel & In-Store Retail - E-commerce Enablement & Infrastructure - Subscription & Membership Commerce - Social Commerce & Influencer Platforms - Fashion & Apparel Retail - Food, Beverage & Grocery E-commerce - Streaming Platforms (Video, Music, Audio) - Gaming & Interactive Entertainment - Creator Economy & Influencer Platforms - Film, TV & Production Studios - Events, Venues & Live Entertainment - Virtual Worlds & Metaverse Experiences - K-12 Education Platforms & Tools - Higher Education & University Tech - Online Learning & MOOCs - Test Prep & Certification - Corporate Training & Upskilling - Tutoring & Supplemental Learning - Education Management Systems (LMS/SIS) - Language Learning - Creator-Led & Cohort-Based Courses - Special Education & Accessibility Tools - Government Technology & Digital Services - Civic Engagement & Policy Platforms - International Development & Humanitarian Aid - Philanthropy & Grantmaking - Nonprofit Operations & Fundraising Tools - Public Health & Social Services - Education & Youth Development Programs - Environmental & Climate Action Organizations - Legal Aid & Social Justice Advocacy - Municipal & Infrastructure Services - Manufacturing & Industrial Automation - Energy Production (Oil, Gas, Nuclear) - Renewable Energy & Cleantech - Utilities & Grid Infrastructure - Industrial IoT & Monitoring Systems - Construction & Heavy Equipment - Mining & Natural Resources - Environmental Engineering & Sustainability - Energy Storage & Battery Technology - Automotive OEMs & Vehicle Manufacturing - Electric Vehicles (EVs) & Charging Infrastructure - Mobility-as-a-Service (MaaS) - Fleet Management - Public Transit & Urban Mobility - Autonomous Vehicles & ADAS - Aftermarket Parts & Services - Telematics & Vehicle Connectivity - Aviation & Aerospace Transport - Maritime Shipping - Fitness & Wellness - Beauty & Personal Care - Home & Living - Dating & Relationships - Hobbies, Crafts & DIY - Outdoor & Recreational Gear - Events, Experiences & Ticketing Platforms - Designer & Luxury Apparel - Accessories, Jewelry & Watches - Footwear & Leather Goods - Beauty, Fragrance & Skincare - Fashion Marketplaces & Retail Platforms - Sustainable & Ethical Fashion - Resale, Vintage & Circular Fashion - Fashion Tech & Virtual Try-Ons - Streetwear & Emerging Luxury - Couture & Made-to-Measure - News Publishing & Journalism - Advertising, Adtech & Media Buying - Digital Media & Content Platforms - Broadcasting (TV & Radio) - Podcasting & Audio Media - News Aggregators & Curation Tools - Independent & Creator-Led Media - Newsletters & Substack-Style Platforms - Political & Investigative Media - Trade & Niche Publications - Media Monitoring & Analytics - Professional Teams & Leagues - Sports Media & Broadcasting - Sports Betting & Fantasy Sports - Fitness & Athletic Training Platforms - Sportswear & Equipment - Esports & Competitive Gaming - Sports Venues & Event Management - Athlete Management & Talent Agencies - Sports Tech & Performance Analytics - Youth, Amateur & Collegiate Sports - Real Estate Marketplaces - Property Management Software - Rental Platforms - Mortgage & Lending Tech - Real Estate Investment Platforms - Law Firms & Legal Services - Legal Tech & Automation - Regulatory Compliance - E-Discovery & Litigation Tools - Contract Management - Governance, Risk & Compliance (GRC) - IP & Trademark Management - Legal Research & Intelligence - Compliance Training & Certification - Whistleblower & Ethics Reporting - Mobile & Wireless Networks (3G/4G/5G) - Broadband & Fiber Internet - Satellite & Space-Based Communications - Network Equipment & Infrastructure - Telecom Billing & OSS/BSS Systems - VoIP & Unified Communications - Internet Service Providers (ISPs) - Edge Computing & Network Virtualization - IoT Connectivity Platforms - Precision Agriculture & AgTech - Crop & Livestock Production - Food & Beverage Manufacturing & Processing - Food Distribution - Restaurants & Food Service - Agricultural Inputs & Equipment - Sustainable & Regenerative Agriculture - Seafood & Aquaculture - Management Consulting - Marketing & Advertising Agencies - Design, Branding & Creative Studios - IT Services & Managed Services - Staffing, Recruiting & Talent - Accounting & Tax Firms - Public Relations & Communications - Business Process Outsourcing (BPO) - Professional Training & Coaching - Specialty Chemicals - Commodity & Petrochemicals - Polymers, Plastics & Rubber - Coatings, Adhesives & Sealants - Industrial Gases - Advanced Materials & Composites - Battery Materials & Energy Storage - Electronic Materials & Semiconductor Chemicals - Agrochemicals & Fertilizers - Freight & Transportation Tech - Last-Mile Delivery - Warehouse Automation - Supply Chain Visibility Platforms - Logistics Marketplaces - Shipping & Freight Forwarding - Cold Chain Logistics - Reverse Logistics & Returns - Cross-Border Trade Tech - Transportation Management Systems (TMS) - Hotels & Accommodation - Vacation Rentals & Short-Term Stays - Restaurant Tech & Management - Travel Booking Platforms - Tourism Experiences & Activities - Cruise Lines & Marine Tourism - Hospitality Management Systems - Event & Venue Management - Corporate Travel Management - Travel Insurance & Protection - Construction Management Software - BIM/CAD & Design Tools - Construction Marketplaces - Equipment Rental & Management - Building Materials & Procurement - Construction Workforce Management - Project Estimation & Bidding - Modular & Prefab Construction - Construction Safety & Compliance - Smart Building Technology - Food & Beverage CPG - Home & Personal Care CPG - CPG Analytics & Insights - Direct-to-Consumer CPG Brands - CPG Supply Chain & Distribution - Private Label Manufacturing - CPG Retail Intelligence - Sustainable CPG & Packaging - Beauty & Cosmetics CPG - Health & Wellness CPG description: Subindustry classification enum BrandRetrieveRequest: oneOf: - $ref: '#/components/schemas/BrandRetrieveByDomainRequest' - $ref: '#/components/schemas/BrandRetrieveByNameRequest' - $ref: '#/components/schemas/BrandRetrieveByEmailRequest' - $ref: '#/components/schemas/BrandRetrieveByTickerRequest' - $ref: '#/components/schemas/BrandRetrieveByDirectUrlRequest' - $ref: '#/components/schemas/BrandRetrieveFromTransactionRequest' discriminator: propertyName: type mapping: by_domain: '#/components/schemas/BrandRetrieveByDomainRequest' by_name: '#/components/schemas/BrandRetrieveByNameRequest' by_email: '#/components/schemas/BrandRetrieveByEmailRequest' by_ticker: '#/components/schemas/BrandRetrieveByTickerRequest' by_direct_url: '#/components/schemas/BrandRetrieveByDirectUrlRequest' by_transaction: '#/components/schemas/BrandRetrieveFromTransactionRequest' description: Exactly one lookup type must be provided. KeyMetadata: type: object properties: credits_consumed: type: integer description: The number of credits consumed by this request. credits_remaining: type: integer description: The number of credits remaining for your organization after this request. required: - credits_consumed - credits_remaining description: Metadata about the API key used for the request. Included in every response whenever a valid API key is provided, even when the response status is not 200. StockExchange: type: string enum: - AMEX - AMS - AQS - ASX - ATH - BER - BME - BRU - BSE - BUD - BUE - BVC - CBOE - CNQ - CPH - DFM - DOH - DUB - DUS - DXE - EGX - FSX - HAM - HEL - HKSE - HOSE - ICE - IOB - IST - JKT - JNB - JPX - KLS - KOE - KSC - KUW - LIS - LSE - MCX - MEX - MIL - MUN - NASDAQ - NEO - NSE - NYSE - NZE - OSL - OTC - PAR - PNK - PRA - RIS - SAO - SAU - SES - SET - SGO - SHH - SHZ - SIX - STO - STU - TAI - TAL - TLV - TSX - TSXV - TWO - VIE - WSE - XETRA description: Stock exchange code. SupportedLanguage: type: string enum: - 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 description: Language to force for the retrieved brand data. ErrorResponse: 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 - EXTERNAL_PROVIDER_ERROR - INPUT_VALIDATION_ERROR - FREE_EMAIL_DETECTED - DISPOSABLE_EMAIL_DETECTED - REQUEST_TIMEOUT - UNSUPPORTED_CONTENT - MONITOR_PAUSED - MONITOR_LIMIT_EXCEEDED - SEARCH_UNAVAILABLE description: Error code indicating the type of error key_metadata: $ref: '#/components/schemas/KeyMetadata' BrandRetrieveByDomainRequest: type: object properties: force_language: allOf: - $ref: '#/components/schemas/SupportedLanguage' - type: - string - 'null' maxSpeed: type: boolean 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. maxAgeMs: type: integer 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. timeoutMS: $ref: '#/components/schemas/TimeoutMS' type: type: string enum: - by_domain description: Discriminator for domain-based brand retrieval. domain: type: string minLength: 3 description: Domain name to retrieve brand data for (e.g., 'stripe.com'). tags: $ref: '#/components/schemas/RequestTags' required: - type - domain additionalProperties: false title: By domain description: Retrieve brand data by domain. Cannot be combined with name, email, or ticker. SimplifiedBrandResponse: type: object properties: status: type: string description: Status of the response, e.g., 'ok' brand: type: object properties: domain: type: string description: The domain name of the brand title: type: string description: The title or name of the brand colors: type: array items: type: object properties: hex: type: string description: Color in hexadecimal format name: type: string description: Name of the color description: An array of brand colors logos: type: array items: type: object properties: url: type: string description: CDN hosted url of the logo (ready for display) mode: type: string enum: - light - dark - has_opaque_background description: 'Indicates when this logo is best used: ''light'' = best for light mode, ''dark'' = best for dark mode, ''has_opaque_background'' = can be used for either as image has its own background' colors: type: array items: type: object properties: hex: type: string description: Color in hexadecimal format name: type: string description: Name of the color description: Array of colors in the logo resolution: type: object properties: width: type: integer description: Width of the image in pixels height: type: integer description: Height of the image in pixels aspect_ratio: type: number description: Aspect ratio of the image (width/height) description: Resolution of the logo image type: type: string enum: - icon - logo description: Type of the logo based on resolution (e.g., 'icon', 'logo') description: An array of logos associated with the brand backdrops: type: array items: type: object properties: url: type: string description: URL of the backdrop image colors: type: array items: type: object properties: hex: type: string description: Color in hexadecimal format name: type: string description: Name of the color description: Array of colors in the backdrop image resolution: type: object properties: width: type: integer description: Width of the image in pixels height: type: integer description: Height of the image in pixels aspect_ratio: type: number description: Aspect ratio of the image (width/height) description: Resolution of the backdrop image description: An array of backdrop images for the brand description: Simplified brand information code: type: integer description: HTTP status code of the response key_metadata: $ref: '#/components/schemas/KeyMetadata' RequestTags: type: array items: type: string minLength: 1 maxLength: 50 maxItems: 20 description: Optional caller-defined tags for tracking this request. Tags are recorded on the request's usage log and can be used to filter usage on the dashboard usage page. Up to 20 tags, each 1-50 characters. example: - production - team-alpha BrandRetrieveByTickerRequest: type: object properties: force_language: allOf: - $ref: '#/components/schemas/SupportedLanguage' - type: - string - 'null' maxSpeed: type: boolean 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. maxAgeMs: type: integer 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. timeoutMS: $ref: '#/components/schemas/TimeoutMS' type: type: string enum: - by_ticker description: Discriminator for ticker-based brand retrieval. ticker: type: string minLength: 1 maxLength: 15 pattern: ^[A-Za-z0-9.]+$ description: Stock ticker symbol to retrieve brand data for (e.g., 'AAPL'). ticker_exchange: type: string description: Optional stock exchange for the ticker. Defaults to NASDAQ if not specified. tags: $ref: '#/components/schemas/RequestTags' required: - type - ticker additionalProperties: false title: By stock description: Retrieve brand data by stock ticker. Cannot be combined with domain, name, or email. BrandRetrieveFromTransactionRequest: type: object properties: type: type: string enum: - by_transaction description: Discriminator for transaction-based brand retrieval. transaction_info: type: string minLength: 3 maxLength: 500 description: Transaction information to identify the brand. force_language: allOf: - $ref: '#/components/schemas/SupportedLanguage' - type: - string - 'null' maxSpeed: type: boolean 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. timeoutMS: $ref: '#/components/schemas/TimeoutMS' country_gl: type: string description: Optional country code hint (GL parameter) to specify the country when identifying a transaction. city: type: string description: Optional city name to prioritize when searching for the brand. mcc: anyOf: - type: string - type: number description: Optional Merchant Category Code (MCC) to help identify the business category or industry. phone: anyOf: - type: string - type: number description: Optional phone number from the transaction to help verify brand match. high_confidence_only: type: boolean description: When set to true, the API performs additional verification to ensure the identified brand matches the transaction with high confidence. tags: $ref: '#/components/schemas/RequestTags' required: - type - transaction_info additionalProperties: false title: By transaction description: Identify brand data from a transaction descriptor. Cannot be combined with domain, name, email, or ticker. BrandResponse: type: object properties: status: type: string description: Status of the response, e.g., 'ok' brand: type: object properties: domain: type: string description: The domain name of the brand title: type: string description: The title or name of the brand description: type: string description: A brief description of the brand slogan: type: string description: The brand's slogan colors: type: array items: type: object properties: hex: type: string description: Color in hexadecimal format name: type: string description: Name of the color description: An array of brand colors logos: type: array items: type: object properties: url: type: string description: CDN hosted url of the logo (ready for display) mode: type: string enum: - light - dark - has_opaque_background description: 'Indicates when this logo is best used: ''light'' = best for light mode, ''dark'' = best for dark mode, ''has_opaque_background'' = can be used for either as image has its own background' colors: type: array items: type: object properties: hex: type: string description: Color in hexadecimal format name: type: string description: Name of the color description: Array of colors in the logo resolution: type: object properties: width: type: integer description: Width of the image in pixels height: type: integer description: Height of the image in pixels aspect_ratio: type: number description: Aspect ratio of the image (width/height) description: Resolution of the logo image type: type: string enum: - icon - logo description: Type of the logo based on resolution (e.g., 'icon', 'logo') description: An array of logos associated with the brand backdrops: type: array items: type: object properties: url: type: string description: URL of the backdrop image colors: type: array items: type: object properties: hex: type: string description: Color in hexadecimal format name: type: string description: Name of the color description: Array of colors in the backdrop image resolution: type: object properties: width: type: integer description: Width of the image in pixels height: type: integer description: Height of the image in pixels aspect_ratio: type: number description: Aspect ratio of the image (width/height) description: Resolution of the backdrop image description: An array of backdrop images for the brand socials: type: array items: type: object properties: type: type: string enum: - 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 description: Type of social media platform url: type: string description: URL of the social media page description: An array of social media links for the brand address: type: object properties: street: type: string description: Street address city: type: string description: City name country: type: string description: Country name country_code: type: string description: Country code state_province: type: string description: State or province name state_code: type: string description: State or province code postal_code: type: string description: Postal or ZIP code description: Physical address of the brand stock: type: object properties: ticker: type: string description: Stock ticker symbol exchange: type: string description: Stock exchange name description: Stock market information for this brand (will be null if not a publicly traded company) is_nsfw: type: boolean description: Indicates whether the brand content is not safe for work (NSFW) email: type: string description: Company email address phone: type: string description: Company phone number industries: type: object properties: eic: type: array items: type: object properties: industry: $ref: '#/components/schemas/Industry' subindustry: $ref: '#/components/schemas/Subindustry' required: - industry - subindustry description: Easy Industry Classification - array of industry and subindustry pairs description: Industry classification information for the brand links: type: object properties: careers: type: - string - 'null' description: URL to the brand's careers or job opportunities page privacy: type: - string - 'null' description: URL to the brand's privacy policy page terms: type: - string - 'null' description: URL to the brand's terms of service or terms and conditions page contact: type: - string - 'null' description: URL to the brand's contact or contact us page blog: type: - string - 'null' description: URL to the brand's blog or news page pricing: type: - string - 'null' description: URL to the brand's pricing or plans page description: Important website links for the brand primary_language: anyOf: - allOf: - $ref: '#/components/schemas/SupportedLanguage' - type: 'null' description: The primary language of the brand's website content. Detected from the HTML lang tag, page content analysis, or social media descriptions. description: Detailed brand information code: type: integer description: HTTP status code key_metadata: $ref: '#/components/schemas/KeyMetadata' CountryGL: type: string 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 description: Two-letter ISO 3166-1 alpha-2 country code (GL parameter) used to localize search. Industry: type: string enum: - Aerospace & Defense - Technology - Finance - Healthcare - Retail & E-commerce - Entertainment - Education - Government & Nonprofit - Industrial & Energy - Automotive & Transportation - Lifestyle & Leisure - Luxury & Fashion - News & Media - Sports - Real Estate & PropTech - Legal & Compliance - Telecommunications - Agriculture & Food - Professional Services & Agencies - Chemicals & Materials - Logistics & Supply Chain - Hospitality & Tourism - Construction & Built Environment - Consumer Packaged Goods (CPG) description: Industry classification enum BrandRetrieveByNameRequest: type: object properties: force_language: allOf: - $ref: '#/components/schemas/SupportedLanguage' - type: - string - 'null' maxSpeed: type: boolean 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. maxAgeMs: type: integer 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. timeoutMS: $ref: '#/components/schemas/TimeoutMS' type: type: string enum: - by_name description: Discriminator for name-based brand retrieval. name: type: string minLength: 3 maxLength: 30 description: Company name to retrieve brand data for (e.g., 'Apple Inc'). country_gl: type: string description: Optional country code hint (GL parameter) to specify the country when looking up by company name. tags: $ref: '#/components/schemas/RequestTags' required: - type - name additionalProperties: false title: By name description: Retrieve brand data by company name. Cannot be combined with domain, email, or ticker. responses: RateLimited: description: Rate limit exceeded headers: X-RateLimit-Limit: $ref: '#/components/headers/RateLimitLimit' X-RateLimit-Remaining: $ref: '#/components/headers/RateLimitRemaining' X-RateLimit-Reset: $ref: '#/components/headers/RateLimitReset' Retry-After: description: Seconds until the per-minute rate limit window resets schema: type: integer minimum: 1 maximum: 60 content: application/json: schema: type: object properties: message: type: string description: Error message error_code: type: string enum: - RATE_LIMITED description: Error code indicating the rate limit was exceeded key_metadata: $ref: '#/components/schemas/KeyMetadata' required: - message - error_code headers: RateLimitRemaining: description: Requests remaining in the current fixed one-minute window. Returned when the authenticated API key has a per-minute rate limit. schema: type: integer minimum: 0 RateLimitReset: description: Unix timestamp in seconds when the current rate-limit window resets. Returned when the authenticated API key has a per-minute rate limit. schema: type: integer RateLimitLimit: description: Maximum requests allowed in the current fixed one-minute window. Returned when the authenticated API key has a per-minute rate limit. schema: type: integer minimum: 1 parameters: RequestTags: name: tags in: query required: false style: form explode: false schema: $ref: '#/components/schemas/RequestTags' description: Optional comma-separated caller-defined tags for tracking this request. Tags are recorded on the request's usage log and can be used to filter usage on the dashboard usage page. Up to 20 tags, each 1-50 characters. example: production,team-alpha securitySchemes: bearerAuth: type: http scheme: bearer