openapi: 3.0.0
info:
  title: Context API
  description: API for retrieving context data from any website
  version: 1.0.0
servers:
  - url: https://api.context.dev/v1
paths:
  /web/scrape/html:
    get:
      summary: Scrape raw HTML from a URL
      description: Scrapes the given URL and returns the raw HTML content of the page.
      parameters:
        - name: url
          in: query
          required: true
          schema:
            type: string
            format: uri
          description: Full URL to scrape (must include http:// or https:// protocol)
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - true
                    description: Indicates success
                  html:
                    type: string
                    description: Raw HTML content of the page
                  url:
                    type: string
                    description: The URL that was scraped
                required:
                  - success
                  - html
                  - url
        '400':
          description: Bad request - Invalid URL or failed to scrape
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message describing the issue
                  error_code:
                    type: string
                    enum:
                      - INPUT_VALIDATION_ERROR
                      - WEBSITE_ACCESS_ERROR
                    description: Error code indicating the type of error
                required:
                  - message
                  - error_code
        '401':
          description: Unauthorized - Invalid or missing API key
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message
                  error_code:
                    type: string
                    enum:
                      - UNAUTHORIZED
                    description: Error code indicating unauthorized access
        '403':
          description: Forbidden - Insufficient permissions or usage limit exceeded
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message
                  error_code:
                    type: string
                    enum:
                      - FORBIDDEN
                      - USAGE_EXCEEDED
                      - DISABLED
                      - INSUFFICIENT_PERMISSIONS
                    description: Error code indicating forbidden access
        '408':
          description: Request timeout
          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
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message
                  error_code:
                    type: string
                    enum:
                      - INTERNAL_ERROR
                    description: Error code indicating internal server error
      security:
        - bearerAuth: []
      tags:
        - Web Scraping
      x-codeSamples:
        - lang: JavaScript
          source: >-
            import ContextDev from 'context.dev';


            const client = new ContextDev({
              apiKey: process.env['CONTEXT_DEV_API_KEY'], // This is the default and can be omitted
            });


            const response = await client.web.webScrapeHTML({ url:
            'https://example.com' });


            console.log(response.html);
        - lang: Python
          source: |-
            import os
            from context.dev import ContextDev

            client = ContextDev(
                api_key=os.environ.get("CONTEXT_DEV_API_KEY"),  # This is the default and can be omitted
            )
            response = client.web.web_scrape_html(
                url="https://example.com",
            )
            print(response.html)
        - lang: Ruby
          source: >-
            require "context_dev"


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


            response = context_dev.web.web_scrape_html(url:
            "https://example.com")


            puts(response)
  /web/scrape/markdown:
    get:
      summary: Scrape URL and convert to Markdown
      description: >-
        Scrapes the given URL, converts the HTML content to Markdown, and
        returns the result.
      parameters:
        - name: url
          in: query
          required: true
          schema:
            type: string
            format: uri
          description: >-
            Full URL to scrape and convert to markdown (must include http:// or
            https:// protocol)
        - name: includeLinks
          in: query
          required: false
          schema:
            type: boolean
            default: true
          description: Preserve hyperlinks in Markdown output
        - name: includeImages
          in: query
          required: false
          schema:
            type: boolean
            default: false
          description: Include image references in Markdown output
        - name: shortenBase64Images
          in: query
          required: false
          schema:
            type: boolean
            default: true
          description: Shorten base64-encoded image data in the Markdown output
        - name: useMainContentOnly
          in: query
          required: false
          schema:
            type: boolean
            default: false
          description: >-
            Extract only the main content of the page, excluding headers,
            footers, sidebars, and navigation
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - true
                    description: Indicates success
                  markdown:
                    type: string
                    description: Page content converted to GitHub Flavored Markdown
                  url:
                    type: string
                    description: The URL that was scraped
                required:
                  - success
                  - markdown
                  - url
        '400':
          description: Bad request - Invalid URL or failed to scrape
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message describing the issue
                  error_code:
                    type: string
                    enum:
                      - INPUT_VALIDATION_ERROR
                      - WEBSITE_ACCESS_ERROR
                    description: Error code indicating the type of error
                required:
                  - message
                  - error_code
        '401':
          description: Unauthorized - Invalid or missing API key
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message
                  error_code:
                    type: string
                    enum:
                      - UNAUTHORIZED
                    description: Error code indicating unauthorized access
        '403':
          description: Forbidden - Insufficient permissions or usage limit exceeded
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message
                  error_code:
                    type: string
                    enum:
                      - FORBIDDEN
                      - USAGE_EXCEEDED
                      - DISABLED
                      - INSUFFICIENT_PERMISSIONS
                    description: Error code indicating forbidden access
        '408':
          description: Request timeout
          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
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message
                  error_code:
                    type: string
                    enum:
                      - INTERNAL_ERROR
                    description: Error code indicating internal server error
      security:
        - bearerAuth: []
      tags:
        - Web Scraping
      x-codeSamples:
        - lang: JavaScript
          source: >-
            import ContextDev from 'context.dev';


            const client = new ContextDev({
              apiKey: process.env['CONTEXT_DEV_API_KEY'], // This is the default and can be omitted
            });


            const response = await client.web.webScrapeMd({ url:
            'https://example.com' });


            console.log(response.markdown);
        - lang: Python
          source: |-
            import os
            from context.dev import ContextDev

            client = ContextDev(
                api_key=os.environ.get("CONTEXT_DEV_API_KEY"),  # This is the default and can be omitted
            )
            response = client.web.web_scrape_md(
                url="https://example.com",
            )
            print(response.markdown)
        - lang: Ruby
          source: |-
            require "context_dev"

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

            response = context_dev.web.web_scrape_md(url: "https://example.com")

            puts(response)
  /web/scrape/images:
    get:
      summary: Scrape images from a URL
      description: >-
        Scrapes all images from the given URL. Extracts images from img, svg,
        picture/source, link, and video elements including inline SVGs, base64
        data URIs, and standard URLs.
      parameters:
        - name: url
          in: query
          required: true
          schema:
            type: string
            format: uri
          description: >-
            Full URL to scrape images from (must include http:// or https://
            protocol)
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - true
                    description: Indicates success
                  images:
                    type: array
                    description: Array of scraped images
                    items:
                      type: object
                      properties:
                        src:
                          type: string
                          description: >-
                            The image source - can be a URL, inline HTML (for
                            SVGs), or a base64 data URI
                        element:
                          type: string
                          enum:
                            - img
                            - svg
                            - link
                            - source
                            - video
                            - css
                            - object
                            - meta
                            - background
                          description: The HTML element the image was found in
                        type:
                          type: string
                          enum:
                            - url
                            - html
                            - base64
                          description: The type/format of the src value
                        alt:
                          type: string
                          nullable: true
                          description: Alt text of the image, or null if not present
                      required:
                        - src
                        - element
                        - type
                        - alt
                  url:
                    type: string
                    description: The URL that was scraped
                required:
                  - success
                  - images
                  - url
        '400':
          description: Bad request - Invalid URL or failed to scrape
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message describing the issue
                  error_code:
                    type: string
                    enum:
                      - INPUT_VALIDATION_ERROR
                      - WEBSITE_ACCESS_ERROR
                    description: Error code indicating the type of error
                required:
                  - message
                  - error_code
        '401':
          description: Unauthorized - Invalid or missing API key
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message
                  error_code:
                    type: string
                    enum:
                      - UNAUTHORIZED
                    description: Error code indicating unauthorized access
        '403':
          description: Forbidden - Insufficient permissions or usage limit exceeded
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message
                  error_code:
                    type: string
                    enum:
                      - FORBIDDEN
                      - USAGE_EXCEEDED
                      - DISABLED
                      - INSUFFICIENT_PERMISSIONS
                    description: Error code indicating forbidden access
        '408':
          description: Request timeout
          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
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message
                  error_code:
                    type: string
                    enum:
                      - INTERNAL_ERROR
                    description: Error code indicating internal server error
      security:
        - bearerAuth: []
      tags:
        - Web Scraping
      x-codeSamples:
        - lang: JavaScript
          source: >-
            import ContextDev from 'context.dev';


            const client = new ContextDev({
              apiKey: process.env['CONTEXT_DEV_API_KEY'], // This is the default and can be omitted
            });


            const response = await client.web.webScrapeImages({ url:
            'https://example.com' });


            console.log(response.images);
        - lang: Python
          source: |-
            import os
            from context.dev import ContextDev

            client = ContextDev(
                api_key=os.environ.get("CONTEXT_DEV_API_KEY"),  # This is the default and can be omitted
            )
            response = client.web.web_scrape_images(
                url="https://example.com",
            )
            print(response.images)
        - lang: Ruby
          source: >-
            require "context_dev"


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


            response = context_dev.web.web_scrape_images(url:
            "https://example.com")


            puts(response)
  /web/scrape/sitemap:
    get:
      summary: Crawl website sitemap
      description: >-
        Crawls the sitemap of the given domain and returns all discovered page
        URLs. Supports sitemap index files (recursive), parallel fetching with
        concurrency control, deduplication, and filters out non-page resources
        (images, PDFs, etc.).
      parameters:
        - name: domain
          in: query
          required: true
          schema:
            type: string
          description: >-
            Domain name to crawl sitemaps for (e.g., 'example.com'). The domain
            will be automatically normalized and validated.
        - name: maxLinks
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 100000
            default: 10000
          description: >-
            Maximum number of links to return from the sitemap crawl. Defaults
            to 10,000. Minimum is 1, maximum is 100,000.
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - true
                    description: Indicates success
                  domain:
                    type: string
                    description: The normalized domain that was crawled
                  urls:
                    type: array
                    items:
                      type: string
                    description: Array of discovered page URLs from the sitemap (max 500)
                  meta:
                    type: object
                    description: Metadata about the sitemap crawl operation
                    properties:
                      sitemapsDiscovered:
                        type: integer
                        description: Total number of sitemap files discovered
                      sitemapsFetched:
                        type: integer
                        description: >-
                          Number of sitemap files successfully fetched and
                          parsed
                      sitemapsSkipped:
                        type: integer
                        description: >-
                          Number of sitemap files skipped (due to errors,
                          timeouts, or limits)
                      errors:
                        type: integer
                        description: Number of errors encountered during crawling
                    required:
                      - sitemapsDiscovered
                      - sitemapsFetched
                      - sitemapsSkipped
                      - errors
                required:
                  - success
                  - domain
                  - urls
                  - meta
        '400':
          description: Bad request - Invalid domain
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message describing the issue
                  error_code:
                    type: string
                    enum:
                      - INPUT_VALIDATION_ERROR
                      - WEBSITE_ACCESS_ERROR
                    description: Error code indicating the type of error
                required:
                  - message
                  - error_code
        '401':
          description: Unauthorized - Invalid or missing API key
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message
                  error_code:
                    type: string
                    enum:
                      - UNAUTHORIZED
                    description: Error code indicating unauthorized access
        '403':
          description: Forbidden - Insufficient permissions or usage limit exceeded
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message
                  error_code:
                    type: string
                    enum:
                      - FORBIDDEN
                      - USAGE_EXCEEDED
                      - DISABLED
                      - INSUFFICIENT_PERMISSIONS
                    description: Error code indicating forbidden access
        '408':
          description: Request timeout
          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
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message
                  error_code:
                    type: string
                    enum:
                      - INTERNAL_ERROR
                    description: Error code indicating internal server error
      security:
        - bearerAuth: []
      tags:
        - Web Scraping
      x-codeSamples:
        - lang: JavaScript
          source: >-
            import ContextDev from 'context.dev';


            const client = new ContextDev({
              apiKey: process.env['CONTEXT_DEV_API_KEY'], // This is the default and can be omitted
            });


            const response = await client.web.webScrapeSitemap({ domain:
            'domain' });


            console.log(response.domain);
        - lang: Python
          source: |-
            import os
            from context.dev import ContextDev

            client = ContextDev(
                api_key=os.environ.get("CONTEXT_DEV_API_KEY"),  # This is the default and can be omitted
            )
            response = client.web.web_scrape_sitemap(
                domain="domain",
            )
            print(response.domain)
        - lang: Ruby
          source: |-
            require "context_dev"

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

            response = context_dev.web.web_scrape_sitemap(domain: "domain")

            puts(response)
  /brand/retrieve:
    get:
      summary: Retrieve brand data by domain
      description: >-
        Retrieve logos, backdrops, colors, industry, description, and more from
        any domain
      parameters:
        - name: domain
          in: query
          required: true
          schema:
            type: string
          description: >-
            Domain name to retrieve brand data for (e.g., 'example.com',
            'google.com'). Cannot be used with name or ticker parameters.
        - name: force_language
          in: query
          required: false
          schema:
            type: string
            enum:
              - albanian
              - arabic
              - azeri
              - bengali
              - bulgarian
              - cantonese
              - cebuano
              - croatian
              - czech
              - danish
              - dutch
              - english
              - estonian
              - farsi
              - finnish
              - french
              - german
              - hausa
              - hawaiian
              - hindi
              - hungarian
              - icelandic
              - indonesian
              - italian
              - kazakh
              - korean
              - kyrgyz
              - latin
              - latvian
              - lithuanian
              - macedonian
              - mongolian
              - nepali
              - norwegian
              - pashto
              - pidgin
              - polish
              - portuguese
              - romanian
              - russian
              - serbian
              - slovak
              - slovene
              - somali
              - spanish
              - swahili
              - swedish
              - tagalog
              - thai
              - turkish
              - ukrainian
              - urdu
              - uzbek
              - vietnamese
              - welsh
          description: >-
            Optional parameter to force the language of the retrieved brand
            data. Works with all three lookup methods.
        - name: maxSpeed
          in: query
          required: false
          schema:
            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. Works with all
            three lookup methods.
        - name: timeoutMS
          in: query
          required: false
          schema:
            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).
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Status of the response, e.g., 'ok'
                  brand:
                    type: object
                    description: Detailed brand information
                    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
                        description: An array of brand colors
                        items:
                          type: object
                          properties:
                            hex:
                              type: string
                              description: Color in hexadecimal format
                            name:
                              type: string
                              description: Name of the color
                      logos:
                        type: array
                        description: An array of logos associated with the brand
                        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
                              description: Array of colors in the logo
                              items:
                                type: object
                                properties:
                                  hex:
                                    type: string
                                    description: Color in hexadecimal format
                                  name:
                                    type: string
                                    description: Name of the color
                            resolution:
                              type: object
                              description: Resolution of the logo image
                              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)
                            type:
                              type: string
                              enum:
                                - icon
                                - logo
                              description: >-
                                Type of the logo based on resolution (e.g.,
                                'icon', 'logo')
                      backdrops:
                        type: array
                        description: An array of backdrop images for the brand
                        items:
                          type: object
                          properties:
                            url:
                              type: string
                              description: URL of the backdrop image
                            colors:
                              type: array
                              description: Array of colors in the backdrop image
                              items:
                                type: object
                                properties:
                                  hex:
                                    type: string
                                    description: Color in hexadecimal format
                                  name:
                                    type: string
                                    description: Name of the color
                            resolution:
                              type: object
                              description: Resolution of the backdrop image
                              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)
                      socials:
                        type: array
                        description: An array of social media links for the brand
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              description: >-
                                Type of social media, e.g., 'facebook',
                                'twitter'
                            url:
                              type: string
                              description: URL of the social media page
                      address:
                        type: object
                        description: Physical address of the brand
                        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
                      stock:
                        type: object
                        description: >-
                          Stock market information for this brand (will be null
                          if not a publicly traded company)
                        properties:
                          ticker:
                            type: string
                            description: Stock ticker symbol
                          exchange:
                            type: string
                            description: Stock exchange name
                      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
                        description: Industry classification information for the brand
                        properties:
                          eic:
                            type: array
                            description: >-
                              Easy Industry Classification - array of industry
                              and subindustry pairs
                            items:
                              type: object
                              properties:
                                industry:
                                  $ref: '#/components/schemas/Industry'
                                subindustry:
                                  $ref: '#/components/schemas/Subindustry'
                              required:
                                - industry
                                - subindustry
                      links:
                        type: object
                        description: Important website links for the brand
                        properties:
                          careers:
                            type: string
                            nullable: true
                            description: >-
                              URL to the brand's careers or job opportunities
                              page
                          privacy:
                            type: string
                            nullable: true
                            description: URL to the brand's privacy policy page
                          terms:
                            type: string
                            nullable: true
                            description: >-
                              URL to the brand's terms of service or terms and
                              conditions page
                          contact:
                            type: string
                            nullable: true
                            description: URL to the brand's contact or contact us page
                          blog:
                            type: string
                            nullable: true
                            description: URL to the brand's blog or news page
                          pricing:
                            type: string
                            nullable: true
                            description: URL to the brand's pricing or plans page
                  code:
                    type: integer
                    description: HTTP status code
        '400':
          description: Bad Request
          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
        '401':
          description: Unauthorized
          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
        '408':
          description: Request Timeout
          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
      security:
        - bearerAuth: []
      tags:
        - Retrieve Brand
      x-codeSamples:
        - lang: JavaScript
          source: |-
            import ContextDev from 'context.dev';

            const client = new ContextDev({
              apiKey: process.env['CONTEXT_DEV_API_KEY'], // This is the default and can be omitted
            });

            const brand = await client.brand.retrieve({ domain: 'domain' });

            console.log(brand.brand);
        - lang: Python
          source: |-
            import os
            from context.dev import ContextDev

            client = ContextDev(
                api_key=os.environ.get("CONTEXT_DEV_API_KEY"),  # This is the default and can be omitted
            )
            brand = client.brand.retrieve(
                domain="domain",
            )
            print(brand.brand)
        - lang: Ruby
          source: |-
            require "context_dev"

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

            brand = context_dev.brand.retrieve(domain: "domain")

            puts(brand)
  /brand/retrieve-by-name:
    get:
      summary: Retrieve brand data by company name
      description: >-
        Retrieve brand information using a company name. This endpoint searches
        for the company by name and returns its brand data.
      parameters:
        - name: name
          in: query
          required: true
          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.
        - name: force_language
          in: query
          required: false
          schema:
            type: string
            enum:
              - albanian
              - arabic
              - azeri
              - bengali
              - bulgarian
              - cantonese
              - cebuano
              - croatian
              - czech
              - danish
              - dutch
              - english
              - estonian
              - farsi
              - finnish
              - french
              - german
              - hausa
              - hawaiian
              - hindi
              - hungarian
              - icelandic
              - indonesian
              - italian
              - kazakh
              - korean
              - kyrgyz
              - latin
              - latvian
              - lithuanian
              - macedonian
              - mongolian
              - nepali
              - norwegian
              - pashto
              - pidgin
              - polish
              - portuguese
              - romanian
              - russian
              - serbian
              - slovak
              - slovene
              - somali
              - spanish
              - swahili
              - swedish
              - tagalog
              - thai
              - turkish
              - ukrainian
              - urdu
              - uzbek
              - vietnamese
              - welsh
          description: >-
            Optional parameter to force the language of the retrieved brand
            data.
        - name: maxSpeed
          in: query
          required: false
          schema:
            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.
        - name: country_gl
          in: query
          required: false
          schema:
            type: string
            enum:
              - ad
              - ae
              - af
              - ag
              - ai
              - al
              - am
              - an
              - ao
              - aq
              - ar
              - as
              - at
              - au
              - aw
              - az
              - ba
              - bb
              - bd
              - be
              - bf
              - bg
              - bh
              - bi
              - bj
              - bm
              - bn
              - bo
              - br
              - bs
              - bt
              - bv
              - bw
              - by
              - bz
              - ca
              - cc
              - cd
              - cf
              - cg
              - ch
              - ci
              - ck
              - cl
              - cm
              - cn
              - co
              - cr
              - cu
              - cv
              - cx
              - cy
              - cz
              - de
              - dj
              - dk
              - dm
              - do
              - dz
              - ec
              - ee
              - eg
              - eh
              - er
              - es
              - et
              - fi
              - fj
              - fk
              - fm
              - fo
              - fr
              - ga
              - gb
              - gd
              - ge
              - gf
              - gh
              - gi
              - gl
              - gm
              - gn
              - gp
              - gq
              - gr
              - gs
              - gt
              - gu
              - gw
              - gy
              - hk
              - hm
              - hn
              - hr
              - ht
              - hu
              - id
              - ie
              - il
              - in
              - io
              - iq
              - ir
              - is
              - it
              - jm
              - jo
              - jp
              - ke
              - kg
              - kh
              - ki
              - km
              - kn
              - kp
              - kr
              - kw
              - ky
              - kz
              - la
              - lb
              - lc
              - li
              - lk
              - lr
              - ls
              - lt
              - lu
              - lv
              - ly
              - ma
              - mc
              - md
              - mg
              - mh
              - mk
              - ml
              - mm
              - mn
              - mo
              - mp
              - mq
              - mr
              - ms
              - mt
              - mu
              - mv
              - mw
              - mx
              - my
              - mz
              - na
              - nc
              - ne
              - nf
              - ng
              - ni
              - nl
              - 'no'
              - np
              - nr
              - nu
              - nz
              - om
              - pa
              - pe
              - pf
              - pg
              - ph
              - pk
              - pl
              - pm
              - pn
              - pr
              - ps
              - pt
              - pw
              - py
              - qa
              - re
              - ro
              - rs
              - ru
              - rw
              - sa
              - sb
              - sc
              - sd
              - se
              - sg
              - sh
              - si
              - sj
              - sk
              - sl
              - sm
              - sn
              - so
              - sr
              - st
              - sv
              - sy
              - sz
              - tc
              - td
              - tf
              - tg
              - th
              - tj
              - tk
              - tl
              - tm
              - tn
              - to
              - tr
              - tt
              - tv
              - tw
              - tz
              - ua
              - ug
              - um
              - us
              - uy
              - uz
              - va
              - vc
              - ve
              - vg
              - vi
              - vn
              - vu
              - wf
              - ws
              - ye
              - yt
              - za
              - zm
              - zw
          description: >-
            Optional country code (GL parameter) to specify the country. This
            affects the geographic location used for search queries.
        - name: timeoutMS
          in: query
          required: false
          schema:
            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).
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BrandResponse'
        '400':
          description: Bad Request - Invalid company name or company not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '408':
          description: Request Timeout
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - bearerAuth: []
      tags:
        - Retrieve Brand
      x-codeSamples:
        - lang: JavaScript
          source: |-
            import ContextDev from 'context.dev';

            const client = new ContextDev({
              apiKey: process.env['CONTEXT_DEV_API_KEY'], // This is the default and can be omitted
            });

            const response = await client.brand.retrieveByName({ name: 'xxx' });

            console.log(response.brand);
        - lang: Python
          source: |-
            import os
            from context.dev import ContextDev

            client = ContextDev(
                api_key=os.environ.get("CONTEXT_DEV_API_KEY"),  # This is the default and can be omitted
            )
            response = client.brand.retrieve_by_name(
                name="xxx",
            )
            print(response.brand)
        - lang: Ruby
          source: |-
            require "context_dev"

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

            response = context_dev.brand.retrieve_by_name(name: "xxx")

            puts(response)
  /brand/retrieve-by-email:
    get:
      summary: Retrieve brand data by email address
      description: >-
        Retrieve brand information using an email address while detecting
        disposable and free email addresses. This endpoint extracts the domain
        from the email address and returns brand data for that domain.
        Disposable and free email addresses (like gmail.com, yahoo.com) will
        throw a 422 error.
      parameters:
        - name: email
          in: query
          required: true
          schema:
            type: string
            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.
        - name: force_language
          in: query
          required: false
          schema:
            type: string
            enum:
              - albanian
              - arabic
              - azeri
              - bengali
              - bulgarian
              - cantonese
              - cebuano
              - croatian
              - czech
              - danish
              - dutch
              - english
              - estonian
              - farsi
              - finnish
              - french
              - german
              - hausa
              - hawaiian
              - hindi
              - hungarian
              - icelandic
              - indonesian
              - italian
              - kazakh
              - korean
              - kyrgyz
              - latin
              - latvian
              - lithuanian
              - macedonian
              - mongolian
              - nepali
              - norwegian
              - pashto
              - pidgin
              - polish
              - portuguese
              - romanian
              - russian
              - serbian
              - slovak
              - slovene
              - somali
              - spanish
              - swahili
              - swedish
              - tagalog
              - thai
              - turkish
              - ukrainian
              - urdu
              - uzbek
              - vietnamese
              - welsh
          description: >-
            Optional parameter to force the language of the retrieved brand
            data.
        - name: maxSpeed
          in: query
          required: false
          schema:
            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.
        - name: timeoutMS
          in: query
          required: false
          schema:
            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).
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BrandResponse'
        '400':
          description: Bad Request - Invalid email or domain not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '408':
          description: Request Timeout
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '422':
          description: Unprocessable Entity - Free email or disposable email detected
          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
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - bearerAuth: []
      tags:
        - Retrieve Brand
      x-codeSamples:
        - lang: JavaScript
          source: >-
            import ContextDev from 'context.dev';


            const client = new ContextDev({
              apiKey: process.env['CONTEXT_DEV_API_KEY'], // This is the default and can be omitted
            });


            const response = await client.brand.retrieveByEmail({ email:
            'dev@stainless.com' });


            console.log(response.brand);
        - lang: Python
          source: |-
            import os
            from context.dev import ContextDev

            client = ContextDev(
                api_key=os.environ.get("CONTEXT_DEV_API_KEY"),  # This is the default and can be omitted
            )
            response = client.brand.retrieve_by_email(
                email="dev@stainless.com",
            )
            print(response.brand)
        - lang: Ruby
          source: >-
            require "context_dev"


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


            response = context_dev.brand.retrieve_by_email(email:
            "dev@stainless.com")


            puts(response)
  /brand/retrieve-by-ticker:
    get:
      summary: Retrieve brand data by stock ticker
      description: >-
        Retrieve brand information using a stock ticker symbol. This endpoint
        looks up the company associated with the ticker and returns its brand
        data.
      parameters:
        - name: ticker
          in: query
          required: true
          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.
        - name: ticker_exchange
          in: query
          required: false
          schema:
            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: >-
            Optional stock exchange for the ticker. Defaults to NASDAQ if not
            specified.
        - name: force_language
          in: query
          required: false
          schema:
            type: string
            enum:
              - albanian
              - arabic
              - azeri
              - bengali
              - bulgarian
              - cantonese
              - cebuano
              - croatian
              - czech
              - danish
              - dutch
              - english
              - estonian
              - farsi
              - finnish
              - french
              - german
              - hausa
              - hawaiian
              - hindi
              - hungarian
              - icelandic
              - indonesian
              - italian
              - kazakh
              - korean
              - kyrgyz
              - latin
              - latvian
              - lithuanian
              - macedonian
              - mongolian
              - nepali
              - norwegian
              - pashto
              - pidgin
              - polish
              - portuguese
              - romanian
              - russian
              - serbian
              - slovak
              - slovene
              - somali
              - spanish
              - swahili
              - swedish
              - tagalog
              - thai
              - turkish
              - ukrainian
              - urdu
              - uzbek
              - vietnamese
              - welsh
          description: >-
            Optional parameter to force the language of the retrieved brand
            data.
        - name: maxSpeed
          in: query
          required: false
          schema:
            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.
        - name: timeoutMS
          in: query
          required: false
          schema:
            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).
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BrandResponse'
        '400':
          description: Bad Request - Invalid ticker or ticker not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '408':
          description: Request Timeout
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - bearerAuth: []
      tags:
        - Retrieve Brand
      x-codeSamples:
        - lang: JavaScript
          source: >-
            import ContextDev from 'context.dev';


            const client = new ContextDev({
              apiKey: process.env['CONTEXT_DEV_API_KEY'], // This is the default and can be omitted
            });


            const response = await client.brand.retrieveByTicker({ ticker:
            'ticker' });


            console.log(response.brand);
        - lang: Python
          source: |-
            import os
            from context.dev import ContextDev

            client = ContextDev(
                api_key=os.environ.get("CONTEXT_DEV_API_KEY"),  # This is the default and can be omitted
            )
            response = client.brand.retrieve_by_ticker(
                ticker="ticker",
            )
            print(response.brand)
        - lang: Ruby
          source: |-
            require "context_dev"

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

            response = context_dev.brand.retrieve_by_ticker(ticker: "ticker")

            puts(response)
  /brand/retrieve-by-isin:
    get:
      summary: Retrieve brand data by ISIN
      description: >-
        Retrieve brand information using an ISIN (International Securities
        Identification Number). This endpoint looks up the company associated
        with the ISIN and returns its brand data.
      parameters:
        - name: isin
          in: query
          required: true
          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.
        - name: force_language
          in: query
          required: false
          schema:
            type: string
            enum:
              - albanian
              - arabic
              - azeri
              - bengali
              - bulgarian
              - cantonese
              - cebuano
              - croatian
              - czech
              - danish
              - dutch
              - english
              - estonian
              - farsi
              - finnish
              - french
              - german
              - hausa
              - hawaiian
              - hindi
              - hungarian
              - icelandic
              - indonesian
              - italian
              - kazakh
              - korean
              - kyrgyz
              - latin
              - latvian
              - lithuanian
              - macedonian
              - mongolian
              - nepali
              - norwegian
              - pashto
              - pidgin
              - polish
              - portuguese
              - romanian
              - russian
              - serbian
              - slovak
              - slovene
              - somali
              - spanish
              - swahili
              - swedish
              - tagalog
              - thai
              - turkish
              - ukrainian
              - urdu
              - uzbek
              - vietnamese
              - welsh
          description: >-
            Optional parameter to force the language of the retrieved brand
            data.
        - name: maxSpeed
          in: query
          required: false
          schema:
            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.
        - name: timeoutMS
          in: query
          required: false
          schema:
            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).
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BrandResponse'
        '400':
          description: Bad Request - Invalid ISIN or ISIN not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '408':
          description: Request Timeout
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - bearerAuth: []
      tags:
        - Retrieve Brand
      x-codeSamples:
        - lang: JavaScript
          source: >-
            import ContextDev from 'context.dev';


            const client = new ContextDev({
              apiKey: process.env['CONTEXT_DEV_API_KEY'], // This is the default and can be omitted
            });


            const response = await client.brand.retrieveByIsin({ isin:
            'SE60513A9993' });


            console.log(response.brand);
        - lang: Python
          source: |-
            import os
            from context.dev import ContextDev

            client = ContextDev(
                api_key=os.environ.get("CONTEXT_DEV_API_KEY"),  # This is the default and can be omitted
            )
            response = client.brand.retrieve_by_isin(
                isin="SE60513A9993",
            )
            print(response.brand)
        - lang: Ruby
          source: |-
            require "context_dev"

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

            response = context_dev.brand.retrieve_by_isin(isin: "SE60513A9993")

            puts(response)
  /brand/transaction_identifier:
    get:
      summary: Identify brand from transaction data
      description: >-
        Endpoint specially designed for platforms that want to identify
        transaction data by the transaction title.
      parameters:
        - name: transaction_info
          in: query
          required: true
          schema:
            type: string
          description: Transaction information to identify the brand
        - name: force_language
          in: query
          required: false
          schema:
            type: string
            enum:
              - albanian
              - arabic
              - azeri
              - bengali
              - bulgarian
              - cantonese
              - cebuano
              - croatian
              - czech
              - danish
              - dutch
              - english
              - estonian
              - farsi
              - finnish
              - french
              - german
              - hausa
              - hawaiian
              - hindi
              - hungarian
              - icelandic
              - indonesian
              - italian
              - kazakh
              - korean
              - kyrgyz
              - latin
              - latvian
              - lithuanian
              - macedonian
              - mongolian
              - nepali
              - norwegian
              - pashto
              - pidgin
              - polish
              - portuguese
              - romanian
              - russian
              - serbian
              - slovak
              - slovene
              - somali
              - spanish
              - swahili
              - swedish
              - tagalog
              - thai
              - turkish
              - ukrainian
              - urdu
              - uzbek
              - vietnamese
              - welsh
          description: >-
            Optional parameter to force the language of the retrieved brand
            data.
        - name: maxSpeed
          in: query
          required: false
          schema:
            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.
        - name: country_gl
          in: query
          required: false
          schema:
            type: string
            enum:
              - ad
              - ae
              - af
              - ag
              - ai
              - al
              - am
              - an
              - ao
              - aq
              - ar
              - as
              - at
              - au
              - aw
              - az
              - ba
              - bb
              - bd
              - be
              - bf
              - bg
              - bh
              - bi
              - bj
              - bm
              - bn
              - bo
              - br
              - bs
              - bt
              - bv
              - bw
              - by
              - bz
              - ca
              - cc
              - cd
              - cf
              - cg
              - ch
              - ci
              - ck
              - cl
              - cm
              - cn
              - co
              - cr
              - cu
              - cv
              - cx
              - cy
              - cz
              - de
              - dj
              - dk
              - dm
              - do
              - dz
              - ec
              - ee
              - eg
              - eh
              - er
              - es
              - et
              - fi
              - fj
              - fk
              - fm
              - fo
              - fr
              - ga
              - gb
              - gd
              - ge
              - gf
              - gh
              - gi
              - gl
              - gm
              - gn
              - gp
              - gq
              - gr
              - gs
              - gt
              - gu
              - gw
              - gy
              - hk
              - hm
              - hn
              - hr
              - ht
              - hu
              - id
              - ie
              - il
              - in
              - io
              - iq
              - ir
              - is
              - it
              - jm
              - jo
              - jp
              - ke
              - kg
              - kh
              - ki
              - km
              - kn
              - kp
              - kr
              - kw
              - ky
              - kz
              - la
              - lb
              - lc
              - li
              - lk
              - lr
              - ls
              - lt
              - lu
              - lv
              - ly
              - ma
              - mc
              - md
              - mg
              - mh
              - mk
              - ml
              - mm
              - mn
              - mo
              - mp
              - mq
              - mr
              - ms
              - mt
              - mu
              - mv
              - mw
              - mx
              - my
              - mz
              - na
              - nc
              - ne
              - nf
              - ng
              - ni
              - nl
              - 'no'
              - np
              - nr
              - nu
              - nz
              - om
              - pa
              - pe
              - pf
              - pg
              - ph
              - pk
              - pl
              - pm
              - pn
              - pr
              - ps
              - pt
              - pw
              - py
              - qa
              - re
              - ro
              - rs
              - ru
              - rw
              - sa
              - sb
              - sc
              - sd
              - se
              - sg
              - sh
              - si
              - sj
              - sk
              - sl
              - sm
              - sn
              - so
              - sr
              - st
              - sv
              - sy
              - sz
              - tc
              - td
              - tf
              - tg
              - th
              - tj
              - tk
              - tl
              - tm
              - tn
              - to
              - tr
              - tt
              - tv
              - tw
              - tz
              - ua
              - ug
              - um
              - us
              - uy
              - uz
              - va
              - vc
              - ve
              - vg
              - vi
              - vn
              - vu
              - wf
              - ws
              - ye
              - yt
              - za
              - zm
              - zw
          description: >-
            Optional country code (GL parameter) to specify the country. This
            affects the geographic location used for search queries.
        - name: city
          in: query
          required: false
          schema:
            type: string
          description: Optional city name to prioritize when searching for the brand.
        - name: mcc
          in: query
          required: false
          schema:
            type: string
          description: >-
            Optional Merchant Category Code (MCC) to help identify the business
            category/industry. 
        - name: phone
          in: query
          required: false
          schema:
            type: number
          description: >-
            Optional phone number from the transaction to help verify brand
            match.
        - name: high_confidence_only
          in: query
          required: false
          schema:
            type: boolean
            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. Defaults to false.
        - name: timeoutMS
          in: query
          required: false
          schema:
            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).
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Status of the response, e.g., 'ok'
                  brand:
                    type: object
                    description: Detailed brand information
                    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
                        description: An array of brand colors
                        items:
                          type: object
                          properties:
                            hex:
                              type: string
                              description: Color in hexadecimal format
                            name:
                              type: string
                              description: Name of the color
                      logos:
                        type: array
                        description: An array of logos associated with the brand
                        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
                              description: Array of colors in the logo
                              items:
                                type: object
                                properties:
                                  hex:
                                    type: string
                                    description: Color in hexadecimal format
                                  name:
                                    type: string
                                    description: Name of the color
                            resolution:
                              type: object
                              description: Resolution of the logo image
                              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)
                            type:
                              type: string
                              enum:
                                - icon
                                - logo
                              description: >-
                                Type of the logo based on resolution (e.g.,
                                'icon', 'logo')
                      backdrops:
                        type: array
                        description: An array of backdrop images for the brand
                        items:
                          type: object
                          properties:
                            url:
                              type: string
                              description: URL of the backdrop image
                            colors:
                              type: array
                              description: Array of colors in the backdrop image
                              items:
                                type: object
                                properties:
                                  hex:
                                    type: string
                                    description: Color in hexadecimal format
                                  name:
                                    type: string
                                    description: Name of the color
                            resolution:
                              type: object
                              description: Resolution of the backdrop image
                              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)
                      socials:
                        type: array
                        description: An array of social media links for the brand
                        items:
                          type: object
                          properties:
                            type:
                              type: string
                              description: >-
                                Type of social media, e.g., 'facebook',
                                'twitter'
                            url:
                              type: string
                              description: URL of the social media page
                      address:
                        type: object
                        description: Physical address of the brand
                        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
                      stock:
                        type: object
                        description: >-
                          Stock market information for this brand (will be null
                          if not a publicly traded company)
                        properties:
                          ticker:
                            type: string
                            description: Stock ticker symbol
                          exchange:
                            type: string
                            description: Stock exchange name
                      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
                        description: Industry classification information for the brand
                        properties:
                          eic:
                            type: array
                            description: >-
                              Easy Industry Classification - array of industry
                              and subindustry pairs
                            items:
                              type: object
                              properties:
                                industry:
                                  $ref: '#/components/schemas/Industry'
                                subindustry:
                                  $ref: '#/components/schemas/Subindustry'
                              required:
                                - industry
                                - subindustry
                      links:
                        type: object
                        description: Important website links for the brand
                        properties:
                          careers:
                            type: string
                            nullable: true
                            description: >-
                              URL to the brand's careers or job opportunities
                              page
                          privacy:
                            type: string
                            nullable: true
                            description: URL to the brand's privacy policy page
                          terms:
                            type: string
                            nullable: true
                            description: >-
                              URL to the brand's terms of service or terms and
                              conditions page
                          contact:
                            type: string
                            nullable: true
                            description: URL to the brand's contact or contact us page
                          blog:
                            type: string
                            nullable: true
                            description: URL to the brand's blog or news page
                          pricing:
                            type: string
                            nullable: true
                            description: URL to the brand's pricing or plans page
                  code:
                    type: integer
                    description: HTTP status code
        '401':
          description: Unauthorized
          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
      security:
        - bearerAuth: []
      tags:
        - Retrieve Brand
      x-codeSamples:
        - lang: JavaScript
          source: |-
            import ContextDev from 'context.dev';

            const client = new ContextDev({
              apiKey: process.env['CONTEXT_DEV_API_KEY'], // This is the default and can be omitted
            });

            const response = await client.brand.identifyFromTransaction({
              transaction_info: 'transaction_info',
            });

            console.log(response.brand);
        - lang: Python
          source: |-
            import os
            from context.dev import ContextDev

            client = ContextDev(
                api_key=os.environ.get("CONTEXT_DEV_API_KEY"),  # This is the default and can be omitted
            )
            response = client.brand.identify_from_transaction(
                transaction_info="transaction_info",
            )
            print(response.brand)
        - lang: Ruby
          source: >-
            require "context_dev"


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


            response =
            context_dev.brand.identify_from_transaction(transaction_info:
            "transaction_info")


            puts(response)
  /brand/naics:
    get:
      summary: Retrieve NAICS code for any brand
      description: Endpoint to classify any brand into a 2022 NAICS code.
      parameters:
        - name: input
          in: query
          required: true
          schema:
            type: string
          description: >-
            Brand domain or title to retrieve NAICS code for. If a valid domain
            is provided in `input`, it will be used for classification,
            otherwise, we will search for the brand using the provided title.
        - name: timeoutMS
          in: query
          required: false
          schema:
            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).
        - name: minResults
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 10
            default: 1
          description: >-
            Minimum number of NAICS codes to return. Must be at least 1.
            Defaults to 1.
        - name: maxResults
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 10
            default: 5
          description: >-
            Maximum number of NAICS codes to return. Must be between 1 and 10.
            Defaults to 5.
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Status of the response, e.g., 'ok'
                  domain:
                    type: string
                    description: Domain found for the brand
                  type:
                    type: string
                    description: >-
                      Industry classification type, for naics api it will be
                      `naics`
                  codes:
                    type: array
                    description: Array of NAICS codes and titles.
                    items:
                      type: object
                      properties:
                        code:
                          type: string
                          description: NAICS code
                        name:
                          type: string
                          description: NAICS title
                        confidence:
                          type: string
                          enum:
                            - high
                            - medium
                            - low
                          description: >-
                            Confidence level for how well this NAICS code
                            matches the company description
                      required:
                        - code
                        - name
                        - confidence
        '400':
          description: Bad Request
          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
        '401':
          description: Unauthorized
          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
        '404':
          description: Brand not found.
        '408':
          description: Request Timeout
          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
      security:
        - bearerAuth: []
      tags:
        - Industry Classification
      x-codeSamples:
        - lang: JavaScript
          source: >-
            import ContextDev from 'context.dev';


            const client = new ContextDev({
              apiKey: process.env['CONTEXT_DEV_API_KEY'], // This is the default and can be omitted
            });


            const response = await client.industry.retrieveNaics({ input:
            'input' });


            console.log(response.codes);
        - lang: Python
          source: |-
            import os
            from context.dev import ContextDev

            client = ContextDev(
                api_key=os.environ.get("CONTEXT_DEV_API_KEY"),  # This is the default and can be omitted
            )
            response = client.industry.retrieve_naics(
                input="input",
            )
            print(response.codes)
        - lang: Ruby
          source: |-
            require "context_dev"

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

            response = context_dev.industry.retrieve_naics(input: "input")

            puts(response)
  /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. This endpoint
        is optimized for faster responses and reduced data transfer.
      parameters:
        - name: domain
          in: query
          required: true
          schema:
            type: string
          description: Domain name to retrieve simplified brand data for
        - name: timeoutMS
          in: query
          required: false
          schema:
            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).
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Status of the response, e.g., 'ok'
                  brand:
                    type: object
                    description: Simplified brand information
                    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
                        description: An array of brand colors
                        items:
                          type: object
                          properties:
                            hex:
                              type: string
                              description: Color in hexadecimal format
                            name:
                              type: string
                              description: Name of the color
                      logos:
                        type: array
                        description: An array of logos associated with the brand
                        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
                              description: Array of colors in the logo
                              items:
                                type: object
                                properties:
                                  hex:
                                    type: string
                                    description: Color in hexadecimal format
                                  name:
                                    type: string
                                    description: Name of the color
                            resolution:
                              type: object
                              description: Resolution of the logo image
                              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)
                            type:
                              type: string
                              enum:
                                - icon
                                - logo
                              description: >-
                                Type of the logo based on resolution (e.g.,
                                'icon', 'logo')
                      backdrops:
                        type: array
                        description: An array of backdrop images for the brand
                        items:
                          type: object
                          properties:
                            url:
                              type: string
                              description: URL of the backdrop image
                            colors:
                              type: array
                              description: Array of colors in the backdrop image
                              items:
                                type: object
                                properties:
                                  hex:
                                    type: string
                                    description: Color in hexadecimal format
                                  name:
                                    type: string
                                    description: Name of the color
                            resolution:
                              type: object
                              description: Resolution of the backdrop image
                              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)
                  code:
                    type: integer
                    description: HTTP status code of the response
        '400':
          description: Bad Request
          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
        '401':
          description: Unauthorized
          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
        '404':
          description: Brand not found.
        '408':
          description: Request Timeout
          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
        '500':
          description: Internal server error
          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
      security:
        - bearerAuth: []
      tags:
        - Retrieve Brand
      x-codeSamples:
        - lang: JavaScript
          source: >-
            import ContextDev from 'context.dev';


            const client = new ContextDev({
              apiKey: process.env['CONTEXT_DEV_API_KEY'], // This is the default and can be omitted
            });


            const response = await client.brand.retrieveSimplified({ domain:
            'domain' });


            console.log(response.brand);
        - lang: Python
          source: |-
            import os
            from context.dev import ContextDev

            client = ContextDev(
                api_key=os.environ.get("CONTEXT_DEV_API_KEY"),  # This is the default and can be omitted
            )
            response = client.brand.retrieve_simplified(
                domain="domain",
            )
            print(response.brand)
        - lang: Ruby
          source: |-
            require "context_dev"

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

            response = context_dev.brand.retrieve_simplified(domain: "domain")

            puts(response)
  /brand/styleguide:
    get:
      summary: Extract design system and styleguide from website
      description: >-
        Automatically extract comprehensive design system information from a
        brand's website including colors, typography, spacing, shadows, and UI
        components. Either 'domain' or 'directUrl' must be provided as a query
        parameter, but not both.
      parameters:
        - name: domain
          in: query
          required: false
          schema:
            type: string
          description: >-
            Domain name to extract styleguide from (e.g., 'example.com',
            'google.com'). The domain will be automatically normalized and
            validated.
        - name: directUrl
          in: query
          required: false
          schema:
            type: string
            format: uri
          description: >-
            A specific URL to fetch the styleguide from directly, bypassing
            domain resolution (e.g., 'https://example.com/design-system').
        - name: timeoutMS
          in: query
          required: false
          schema:
            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).
        - name: prioritize
          in: query
          required: false
          schema:
            type: string
            enum:
              - speed
              - quality
          description: >-
            Optional parameter to prioritize screenshot capture for styleguide
            extraction. If 'speed', optimizes for faster capture with basic
            quality. If 'quality', optimizes for higher quality with longer wait
            times. Defaults to 'quality' if not provided.
      x-oneOf-query:
        - title: By Domain
          required:
            - domain
          properties:
            domain:
              type: string
              description: >-
                Domain name to extract styleguide from (e.g., 'example.com',
                'google.com').
            timeoutMS:
              type: integer
              minimum: 1000
              maximum: 300000
              description: >-
                Optional timeout in milliseconds for the request. Maximum
                allowed value is 300000ms (5 minutes).
            prioritize:
              type: string
              enum:
                - speed
                - quality
              description: >-
                Optional parameter to prioritize screenshot capture. Defaults to
                'quality'.
        - title: By Direct URL
          required:
            - directUrl
          properties:
            directUrl:
              type: string
              format: uri
              description: >-
                A specific URL to fetch the styleguide from directly, bypassing
                domain resolution.
            timeoutMS:
              type: integer
              minimum: 1000
              maximum: 300000
              description: >-
                Optional timeout in milliseconds for the request. Maximum
                allowed value is 300000ms (5 minutes).
            prioritize:
              type: string
              enum:
                - speed
                - quality
              description: >-
                Optional parameter to prioritize screenshot capture. Defaults to
                'quality'.
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Status of the response, e.g., 'ok'
                  domain:
                    type: string
                    description: The normalized domain that was processed
                  styleguide:
                    type: object
                    description: Comprehensive styleguide data extracted from the website
                    properties:
                      mode:
                        type: string
                        enum:
                          - light
                          - dark
                        description: The primary color mode of the website design
                      colors:
                        type: object
                        description: Primary colors used on the website
                        properties:
                          accent:
                            type: string
                            description: Accent color of the website (hex format)
                          background:
                            type: string
                            description: Background color of the website (hex format)
                          text:
                            type: string
                            description: Text color of the website (hex format)
                      typography:
                        type: object
                        description: Typography styles used on the website
                        properties:
                          headings:
                            type: object
                            description: Heading styles
                            properties:
                              h1:
                                type: object
                                properties:
                                  fontFamily:
                                    type: string
                                  fontSize:
                                    type: string
                                  fontWeight:
                                    type: number
                                  lineHeight:
                                    type: string
                                  letterSpacing:
                                    type: string
                              h2:
                                type: object
                                properties:
                                  fontFamily:
                                    type: string
                                  fontSize:
                                    type: string
                                  fontWeight:
                                    type: number
                                  lineHeight:
                                    type: string
                                  letterSpacing:
                                    type: string
                              h3:
                                type: object
                                properties:
                                  fontFamily:
                                    type: string
                                  fontSize:
                                    type: string
                                  fontWeight:
                                    type: number
                                  lineHeight:
                                    type: string
                                  letterSpacing:
                                    type: string
                              h4:
                                type: object
                                properties:
                                  fontFamily:
                                    type: string
                                  fontSize:
                                    type: string
                                  fontWeight:
                                    type: number
                                  lineHeight:
                                    type: string
                                  letterSpacing:
                                    type: string
                          p:
                            type: object
                            description: Paragraph text styles
                            properties:
                              fontFamily:
                                type: string
                              fontSize:
                                type: string
                              fontWeight:
                                type: number
                              lineHeight:
                                type: string
                              letterSpacing:
                                type: string
                      elementSpacing:
                        type: object
                        description: Spacing system used on the website
                        properties:
                          xs:
                            type: string
                            description: Extra small spacing value
                          sm:
                            type: string
                            description: Small spacing value
                          md:
                            type: string
                            description: Medium spacing value
                          lg:
                            type: string
                            description: Large spacing value
                          xl:
                            type: string
                            description: Extra large spacing value
                      shadows:
                        type: object
                        description: Shadow styles used on the website
                        properties:
                          sm:
                            type: string
                            description: Small shadow value
                          md:
                            type: string
                            description: Medium shadow value
                          lg:
                            type: string
                            description: Large shadow value
                          xl:
                            type: string
                            description: Extra large shadow value
                          inner:
                            type: string
                            description: Inner shadow value
                      components:
                        type: object
                        description: UI component styles
                        properties:
                          button:
                            type: object
                            description: Button component styles
                            properties:
                              primary:
                                type: object
                                description: Primary button style
                                properties:
                                  backgroundColor:
                                    type: string
                                  color:
                                    type: string
                                  borderColor:
                                    type: string
                                  borderRadius:
                                    type: string
                                  borderWidth:
                                    type: string
                                  borderStyle:
                                    type: string
                                  padding:
                                    type: string
                                  fontSize:
                                    type: string
                                  fontWeight:
                                    type: number
                                  textDecoration:
                                    type: string
                                  boxShadow:
                                    type: string
                              secondary:
                                type: object
                                description: Secondary button style
                                properties:
                                  backgroundColor:
                                    type: string
                                  color:
                                    type: string
                                  borderColor:
                                    type: string
                                  borderRadius:
                                    type: string
                                  borderWidth:
                                    type: string
                                  borderStyle:
                                    type: string
                                  padding:
                                    type: string
                                  fontSize:
                                    type: string
                                  fontWeight:
                                    type: number
                                  textDecoration:
                                    type: string
                                  boxShadow:
                                    type: string
                              link:
                                type: object
                                description: Link button style
                                properties:
                                  backgroundColor:
                                    type: string
                                  color:
                                    type: string
                                  borderColor:
                                    type: string
                                  borderRadius:
                                    type: string
                                  borderWidth:
                                    type: string
                                  borderStyle:
                                    type: string
                                  padding:
                                    type: string
                                  fontSize:
                                    type: string
                                  fontWeight:
                                    type: number
                                  textDecoration:
                                    type: string
                                  boxShadow:
                                    type: string
                          card:
                            type: object
                            description: Card component style
                            properties:
                              backgroundColor:
                                type: string
                              borderColor:
                                type: string
                              borderRadius:
                                type: string
                              borderWidth:
                                type: string
                              borderStyle:
                                type: string
                              padding:
                                type: string
                              boxShadow:
                                type: string
                              textColor:
                                type: string
                  code:
                    type: integer
                    description: HTTP status code
        '400':
          description: Bad Request
          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
        '401':
          description: Unauthorized
          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
        '408':
          description: Request Timeout
          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
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message
                  error_code:
                    type: string
                    enum:
                      - INTERNAL_ERROR
                    description: Error code indicating internal server error
      security:
        - bearerAuth: []
      tags:
        - Screenshot / Styleguide
      x-codeSamples:
        - lang: JavaScript
          source: |-
            import ContextDev from 'context.dev';

            const client = new ContextDev({
              apiKey: process.env['CONTEXT_DEV_API_KEY'], // This is the default and can be omitted
            });

            const response = await client.style.extractStyleguide();

            console.log(response.styleguide);
        - lang: Python
          source: |-
            import os
            from context.dev import ContextDev

            client = ContextDev(
                api_key=os.environ.get("CONTEXT_DEV_API_KEY"),  # This is the default and can be omitted
            )
            response = client.style.extract_styleguide()
            print(response.styleguide)
        - lang: Ruby
          source: |-
            require "context_dev"

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

            response = context_dev.style.extract_styleguide

            puts(response)
  /brand/fonts:
    get:
      summary: Extract fonts from website
      description: >-
        Extract font information from a brand's website including font families,
        usage statistics, fallbacks, and element/word counts.
      parameters:
        - name: domain
          in: query
          required: true
          schema:
            type: string
          description: >-
            Domain name to extract fonts from (e.g., 'example.com',
            'google.com'). The domain will be automatically normalized and
            validated.
        - name: timeoutMS
          in: query
          required: false
          schema:
            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).
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Status of the response, e.g., 'ok'
                  domain:
                    type: string
                    description: The normalized domain that was processed
                  fonts:
                    type: array
                    description: Array of font usage information
                    items:
                      type: object
                      properties:
                        font:
                          type: string
                          description: Font family name
                        uses:
                          type: array
                          items:
                            type: string
                          description: >-
                            Array of CSS selectors or element types where this
                            font is used
                        fallbacks:
                          type: array
                          items:
                            type: string
                          description: Array of fallback font families
                        num_elements:
                          type: number
                          description: Number of elements using this font
                        num_words:
                          type: number
                          description: Number of words using this font
                        percent_words:
                          type: number
                          description: Percentage of words using this font
                        percent_elements:
                          type: number
                          description: Percentage of elements using this font
                      required:
                        - font
                        - uses
                        - fallbacks
                        - num_elements
                        - num_words
                        - percent_words
                        - percent_elements
                  code:
                    type: integer
                    description: HTTP status code, e.g., 200
                required:
                  - status
                  - domain
                  - fonts
                  - code
        '400':
          description: Bad request - Invalid input parameters
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message describing the validation error
                  error_code:
                    type: string
                    enum:
                      - INPUT_VALIDATION_ERROR
                    description: Error code indicating input validation error
        '401':
          description: Unauthorized - Invalid or missing API key
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message
                  error_code:
                    type: string
                    enum:
                      - UNAUTHORIZED
                    description: Error code indicating unauthorized access
        '403':
          description: Forbidden - Insufficient permissions or usage limit exceeded
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message
                  error_code:
                    type: string
                    enum:
                      - FORBIDDEN
                      - USAGE_EXCEEDED
                      - DISABLED
                      - INSUFFICIENT_PERMISSIONS
                    description: Error code indicating forbidden access
        '408':
          description: Request timeout
          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
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message
                  error_code:
                    type: string
                    enum:
                      - INTERNAL_ERROR
                    description: Error code indicating internal server error
      security:
        - bearerAuth: []
      tags:
        - Screenshot / Styleguide
      x-codeSamples:
        - lang: JavaScript
          source: >-
            import ContextDev from 'context.dev';


            const client = new ContextDev({
              apiKey: process.env['CONTEXT_DEV_API_KEY'], // This is the default and can be omitted
            });


            const response = await client.style.extractFonts({ domain: 'domain'
            });


            console.log(response.code);
        - lang: Python
          source: |-
            import os
            from context.dev import ContextDev

            client = ContextDev(
                api_key=os.environ.get("CONTEXT_DEV_API_KEY"),  # This is the default and can be omitted
            )
            response = client.style.extract_fonts(
                domain="domain",
            )
            print(response.code)
        - lang: Ruby
          source: |-
            require "context_dev"

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

            response = context_dev.style.extract_fonts(domain: "domain")

            puts(response)
  /brand/screenshot:
    get:
      summary: Take screenshot of website
      description: >-
        Capture a screenshot of a website. Supports both viewport (standard
        browser view) and full-page screenshots. Can also screenshot specific
        page types (login, pricing, etc.) by using heuristics to find the
        appropriate URL. Returns a URL to the uploaded screenshot image hosted
        on our CDN.
      parameters:
        - name: domain
          in: query
          required: true
          schema:
            type: string
          description: >-
            Domain name to take screenshot of (e.g., 'example.com',
            'google.com'). The domain will be automatically normalized and
            validated.
        - name: fullScreenshot
          in: query
          required: false
          schema:
            type: string
            enum:
              - 'true'
              - 'false'
          description: >-
            Optional parameter to determine screenshot type. If 'true', takes a
            full page screenshot capturing all content. If 'false' or not
            provided, takes a viewport screenshot (standard browser view).
        - name: page
          in: query
          required: false
          schema:
            type: string
            enum:
              - login
              - signup
              - blog
              - careers
              - pricing
              - terms
              - privacy
              - contact
          description: >-
            Optional parameter to specify which page type to screenshot. If
            provided, the system will scrape the domain's links and use
            heuristics to find the most appropriate URL for the specified page
            type (30 supported languages). If not provided, screenshots the main
            domain landing page.
        - name: prioritize
          in: query
          required: false
          schema:
            type: string
            enum:
              - speed
              - quality
          description: >-
            Optional parameter to prioritize screenshot capture. If 'speed',
            optimizes for faster capture with basic quality. If 'quality',
            optimizes for higher quality with longer wait times. Defaults to
            'quality' if not provided.
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Status of the response, e.g., 'ok'
                  domain:
                    type: string
                    description: The normalized domain that was processed
                  screenshot:
                    type: string
                    description: Public URL of the uploaded screenshot image
                  screenshotType:
                    type: string
                    enum:
                      - viewport
                      - fullPage
                    description: Type of screenshot that was captured
                  code:
                    type: integer
                    description: HTTP status code
        '400':
          description: Bad Request
          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
        '401':
          description: Unauthorized
          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
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message
                  error_code:
                    type: string
                    enum:
                      - INTERNAL_ERROR
                    description: Error code indicating internal server error
      security:
        - bearerAuth: []
      tags:
        - Screenshot / Styleguide
      x-codeSamples:
        - lang: JavaScript
          source: |-
            import ContextDev from 'context.dev';

            const client = new ContextDev({
              apiKey: process.env['CONTEXT_DEV_API_KEY'], // This is the default and can be omitted
            });

            const response = await client.web.screenshot({ domain: 'domain' });

            console.log(response.code);
        - lang: Python
          source: |-
            import os
            from context.dev import ContextDev

            client = ContextDev(
                api_key=os.environ.get("CONTEXT_DEV_API_KEY"),  # This is the default and can be omitted
            )
            response = client.web.screenshot(
                domain="domain",
            )
            print(response.code)
        - lang: Ruby
          source: |-
            require "context_dev"

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

            response = context_dev.web.screenshot(domain: "domain")

            puts(response)
  /brand/ai/query:
    post:
      summary: Query website data using AI
      description: >-
        Use AI to extract specific data points from a brand's website. The AI
        will crawl the website and extract the requested information based on
        the provided data points.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - domain
                - data_to_extract
              properties:
                domain:
                  type: string
                  description: The domain name to analyze
                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).
                specific_pages:
                  type: object
                  description: Optional object specifying which pages to analyze
                  properties:
                    home_page:
                      type: boolean
                      description: Whether to analyze the home page
                    blog:
                      type: boolean
                      description: Whether to analyze the blog
                    terms_and_conditions:
                      type: boolean
                      description: Whether to analyze the terms and conditions page
                    privacy_policy:
                      type: boolean
                      description: Whether to analyze the privacy policy page
                    about_us:
                      type: boolean
                      description: Whether to analyze the about us page
                    contact_us:
                      type: boolean
                      description: Whether to analyze the contact us page
                    careers:
                      type: boolean
                      description: Whether to analyze the careers page
                    faq:
                      type: boolean
                      description: Whether to analyze the FAQ page
                    pricing:
                      type: boolean
                      description: Whether to analyze the pricing page
                data_to_extract:
                  type: array
                  description: Array of data points to extract from the website
                  items:
                    type: object
                    required:
                      - datapoint_name
                      - datapoint_type
                      - datapoint_description
                      - datapoint_example
                    properties:
                      datapoint_name:
                        type: string
                        description: Name of the data point to extract
                      datapoint_type:
                        type: string
                        enum:
                          - text
                          - number
                          - date
                          - boolean
                          - list
                          - url
                        description: Type of the data point
                      datapoint_list_type:
                        type: string
                        enum:
                          - string
                          - text
                          - number
                          - date
                          - boolean
                          - list
                          - url
                          - object
                        default: string
                        description: >-
                          Type of items in the list when datapoint_type is
                          'list'. Defaults to 'string'. Use 'object' to extract
                          an array of objects matching a schema.
                      datapoint_object_schema:
                        type: object
                        description: >-
                          Schema definition for objects when datapoint_list_type
                          is 'object'. Provide a map of field names to their
                          scalar types.
                        additionalProperties:
                          type: string
                          enum:
                            - string
                            - number
                            - date
                            - boolean
                        minProperties: 1
                        example:
                          testimonial_text: string
                          testimonial_author: string
                      datapoint_description:
                        type: string
                        description: Description of what to extract
                      datapoint_example:
                        type: string
                        description: Example of the expected value
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Status of the response, e.g., 'ok'
                  domain:
                    type: string
                    description: The domain that was analyzed
                  urls_analyzed:
                    type: array
                    description: List of URLs that were analyzed
                    items:
                      type: string
                  data_extracted:
                    type: array
                    description: Array of extracted data points
                    items:
                      type: object
                      properties:
                        datapoint_name:
                          type: string
                          description: Name of the extracted data point
                        datapoint_value:
                          oneOf:
                            - type: string
                            - type: number
                            - type: boolean
                            - type: array
                              items:
                                type: string
                            - type: array
                              items:
                                type: number
                            - type: array
                              items:
                                type: object
                          description: >-
                            Value of the extracted data point. Can be a
                            primitive type, an array of primitives, or an array
                            of objects when datapoint_list_type is 'object'.
        '400':
          description: Bad Request - validation error
          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
        '401':
          description: Unauthorized
          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
        '408':
          description: Request Timeout
          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
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message
                  error_code:
                    type: string
                    enum:
                      - INTERNAL_ERROR
                    description: Error code indicating internal server error
      security:
        - bearerAuth: []
      tags:
        - AI Data Extraction
      x-codeSamples:
        - lang: JavaScript
          source: |-
            import ContextDev from 'context.dev';

            const client = new ContextDev({
              apiKey: process.env['CONTEXT_DEV_API_KEY'], // This is the default and can be omitted
            });

            const response = await client.ai.aiQuery({
              data_to_extract: [
                {
                  datapoint_description: 'datapoint_description',
                  datapoint_example: 'datapoint_example',
                  datapoint_name: 'datapoint_name',
                  datapoint_type: 'text',
                },
              ],
              domain: 'domain',
            });

            console.log(response.data_extracted);
        - lang: Python
          source: |-
            import os
            from context.dev import ContextDev

            client = ContextDev(
                api_key=os.environ.get("CONTEXT_DEV_API_KEY"),  # This is the default and can be omitted
            )
            response = client.ai.ai_query(
                data_to_extract=[{
                    "datapoint_description": "datapoint_description",
                    "datapoint_example": "datapoint_example",
                    "datapoint_name": "datapoint_name",
                    "datapoint_type": "text",
                }],
                domain="domain",
            )
            print(response.data_extracted)
        - lang: Ruby
          source: |-
            require "context_dev"

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

            response = context_dev.ai.ai_query(
              data_to_extract: [
                {
                  datapoint_description: "datapoint_description",
                  datapoint_example: "datapoint_example",
                  datapoint_name: "datapoint_name",
                  datapoint_type: :text
                }
              ],
              domain: "domain"
            )

            puts(response)
  /brand/ai/products:
    post:
      summary: Extract products from a brand's website
      description: >-
        Beta feature: Extract product information from a brand's website. We
        will analyze the website and return a list of products with details such
        as name, description, image, pricing, features, and more.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              oneOf:
                - title: By Domain
                  type: object
                  required:
                    - domain
                  properties:
                    domain:
                      type: string
                      description: The domain name to analyze.
                    maxProducts:
                      type: integer
                      minimum: 1
                      maximum: 12
                      description: Maximum number of products to extract.
                    timeoutMS:
                      type: integer
                      minimum: 1000
                      maximum: 300000
                      description: >-
                        Optional timeout in milliseconds for the request.
                        Maximum allowed value is 300000ms (5 minutes).
                - title: By Direct URL
                  type: object
                  required:
                    - directUrl
                  properties:
                    directUrl:
                      type: string
                      format: uri
                      description: >-
                        A specific URL to use directly as the starting point for
                        extraction without domain resolution.
                    maxProducts:
                      type: integer
                      minimum: 1
                      maximum: 12
                      description: Maximum number of products to extract.
                    timeoutMS:
                      type: integer
                      minimum: 1000
                      maximum: 300000
                      description: >-
                        Optional timeout in milliseconds for the request.
                        Maximum allowed value is 300000ms (5 minutes).
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  products:
                    type: array
                    description: Array of products extracted from the website
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                          description: Name of the product
                        description:
                          type: string
                          description: Description of the product
                        price:
                          type: number
                          nullable: true
                          description: Price of the product
                        currency:
                          type: string
                          nullable: true
                          description: Currency code for the price (e.g., USD, EUR)
                        billing_frequency:
                          type: string
                          nullable: true
                          enum:
                            - monthly
                            - yearly
                            - one_time
                            - usage_based
                          description: Billing frequency for the product
                        pricing_model:
                          type: string
                          nullable: true
                          enum:
                            - per_seat
                            - flat
                            - tiered
                            - freemium
                            - custom
                          description: Pricing model for the product
                        url:
                          type: string
                          nullable: true
                          description: URL to the product page
                        category:
                          type: string
                          nullable: true
                          description: Category of the product
                        features:
                          type: array
                          description: List of product features
                          items:
                            type: string
                        target_audience:
                          type: array
                          description: Target audience for the product (array of strings)
                          items:
                            type: string
                        tags:
                          type: array
                          description: Tags associated with the product
                          items:
                            type: string
                        image_url:
                          type: string
                          nullable: true
                          description: URL to the product image
                        images:
                          type: array
                          description: URLs to product images on the page (up to 7)
                          items:
                            type: string
                      required:
                        - name
                        - description
                        - features
                        - target_audience
                        - tags
                        - images
        '400':
          description: Bad Request - validation error
          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
        '401':
          description: Unauthorized
          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
        '408':
          description: Request Timeout
          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
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message
                  error_code:
                    type: string
                    enum:
                      - INTERNAL_ERROR
                    description: Error code indicating internal server error
      security:
        - bearerAuth: []
      tags:
        - AI Data Extraction
      x-codeSamples:
        - lang: JavaScript
          source: >-
            import ContextDev from 'context.dev';


            const client = new ContextDev({
              apiKey: process.env['CONTEXT_DEV_API_KEY'], // This is the default and can be omitted
            });


            const response = await client.ai.extractProducts({ domain: 'domain'
            });


            console.log(response.products);
        - lang: Python
          source: |-
            import os
            from context.dev import ContextDev

            client = ContextDev(
                api_key=os.environ.get("CONTEXT_DEV_API_KEY"),  # This is the default and can be omitted
            )
            response = client.ai.extract_products(
                domain="domain",
            )
            print(response.products)
        - lang: Ruby
          source: |-
            require "context_dev"

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

            response = context_dev.ai.extract_products(body: {domain: "domain"})

            puts(response)
  /brand/ai/product:
    post:
      summary: Extract a single product from a URL
      description: >-
        Beta feature: Given a single URL, determines if it is a product detail
        page, classifies the platform/product type, and extracts the product
        information. Supports Amazon, TikTok Shop, Etsy, and generic ecommerce
        sites.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - url
              properties:
                url:
                  type: string
                  format: uri
                  description: The product page URL to extract product data from.
                timeoutMS:
                  type: integer
                  minimum: 1000
                  maximum: 300000
                  description: >-
                    Optional timeout in milliseconds for the request. Maximum
                    allowed value is 300000ms (5 minutes).
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  is_product_page:
                    type: boolean
                    description: Whether the given URL is a product detail page
                  platform:
                    type: string
                    nullable: true
                    enum:
                      - amazon
                      - tiktok_shop
                      - etsy
                      - generic
                    description: >-
                      The detected ecommerce platform, or null if not a product
                      page
                  product:
                    type: object
                    nullable: true
                    description: The extracted product data, or null if not a product page
                    properties:
                      name:
                        type: string
                        description: Name of the product
                      description:
                        type: string
                        description: Description of the product
                      price:
                        type: number
                        nullable: true
                        description: Price of the product
                      currency:
                        type: string
                        nullable: true
                        description: Currency code for the price (e.g., USD, EUR)
                      billing_frequency:
                        type: string
                        nullable: true
                        enum:
                          - monthly
                          - yearly
                          - one_time
                          - usage_based
                        description: Billing frequency for the product
                      pricing_model:
                        type: string
                        nullable: true
                        enum:
                          - per_seat
                          - flat
                          - tiered
                          - freemium
                          - custom
                        description: Pricing model for the product
                      url:
                        type: string
                        nullable: true
                        description: URL to the product page
                      category:
                        type: string
                        nullable: true
                        description: Category of the product
                      features:
                        type: array
                        description: List of product features
                        items:
                          type: string
                      target_audience:
                        type: array
                        description: Target audience for the product (array of strings)
                        items:
                          type: string
                      tags:
                        type: array
                        description: Tags associated with the product
                        items:
                          type: string
                      image_url:
                        type: string
                        nullable: true
                        description: URL to the product image
                      images:
                        type: array
                        description: URLs to product images on the page (up to 7)
                        items:
                          type: string
                    required:
                      - name
                      - description
                      - features
                      - target_audience
                      - tags
                      - images
        '400':
          description: Bad Request - validation error
          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
        '401':
          description: Unauthorized
          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
        '408':
          description: Request Timeout
          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
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message
                  error_code:
                    type: string
                    enum:
                      - INTERNAL_ERROR
                    description: Error code indicating internal server error
      security:
        - bearerAuth: []
      tags:
        - AI Data Extraction
      x-codeSamples:
        - lang: JavaScript
          source: >-
            import ContextDev from 'context.dev';


            const client = new ContextDev({
              apiKey: process.env['CONTEXT_DEV_API_KEY'], // This is the default and can be omitted
            });


            const response = await client.ai.extractProduct({ url:
            'https://example.com' });


            console.log(response.is_product_page);
        - lang: Python
          source: |-
            import os
            from context.dev import ContextDev

            client = ContextDev(
                api_key=os.environ.get("CONTEXT_DEV_API_KEY"),  # This is the default and can be omitted
            )
            response = client.ai.extract_product(
                url="https://example.com",
            )
            print(response.is_product_page)
        - lang: Ruby
          source: >-
            require "context_dev"


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


            response = context_dev.ai.extract_product(url:
            "https://example.com")


            puts(response)
  /brand/prefetch:
    post:
      summary: Prefetch brand data for a domain
      description: >-
        Signal that you may fetch brand data for a particular domain soon to
        improve latency. This endpoint does not charge credits and is available
        for paid customers to optimize future requests. [You must be on a paid
        plan to use this endpoint]
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - domain
              properties:
                domain:
                  type: string
                  description: Domain name to prefetch brand data for
                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).
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Status of the response, e.g., 'ok'
                  message:
                    type: string
                    description: Success message
                  domain:
                    type: string
                    description: The domain that was queued for prefetching
        '400':
          description: Bad Request - validation error
          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
        '401':
          description: Unauthorized
          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
        '408':
          description: Request Timeout
          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
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message
                  error_code:
                    type: string
                    enum:
                      - INTERNAL_ERROR
                    description: Error code indicating internal server error
      security:
        - bearerAuth: []
      tags:
        - Utility
      x-codeSamples:
        - lang: JavaScript
          source: >-
            import ContextDev from 'context.dev';


            const client = new ContextDev({
              apiKey: process.env['CONTEXT_DEV_API_KEY'], // This is the default and can be omitted
            });


            const response = await client.utility.prefetch({ domain: 'domain'
            });


            console.log(response.domain);
        - lang: Python
          source: |-
            import os
            from context.dev import ContextDev

            client = ContextDev(
                api_key=os.environ.get("CONTEXT_DEV_API_KEY"),  # This is the default and can be omitted
            )
            response = client.utility.prefetch(
                domain="domain",
            )
            print(response.domain)
        - lang: Ruby
          source: |-
            require "context_dev"

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

            response = context_dev.utility.prefetch(domain: "domain")

            puts(response)
  /brand/prefetch-by-email:
    post:
      summary: Prefetch brand data by email
      description: >-
        Signal that you may fetch brand data for a particular domain soon to
        improve latency. This endpoint accepts an email address, extracts the
        domain from it, validates that it's not a disposable or free email
        provider, and queues the domain for prefetching. This endpoint does not
        charge credits and is available for paid customers to optimize future
        requests. [You must be on a paid plan to use this endpoint]
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - email
              properties:
                email:
                  type: string
                  format: email
                  description: >-
                    Email address to prefetch brand data for. The domain will be
                    extracted from the email. Free email providers (gmail.com,
                    yahoo.com, etc.) and disposable email addresses are not
                    allowed.
                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).
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: Status of the response, e.g., 'ok'
                  message:
                    type: string
                    description: Success message
                  domain:
                    type: string
                    description: The domain that was queued for prefetching
        '400':
          description: Bad Request - validation error
          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
        '401':
          description: Unauthorized
          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
        '408':
          description: Request Timeout
          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
        '422':
          description: Unprocessable Entity - Free email or disposable email detected
          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
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    description: Error message
                  error_code:
                    type: string
                    enum:
                      - INTERNAL_ERROR
                    description: Error code indicating internal server error
      security:
        - bearerAuth: []
      tags:
        - Utility
      x-codeSamples:
        - lang: JavaScript
          source: >-
            import ContextDev from 'context.dev';


            const client = new ContextDev({
              apiKey: process.env['CONTEXT_DEV_API_KEY'], // This is the default and can be omitted
            });


            const response = await client.utility.prefetchByEmail({ email:
            'dev@stainless.com' });


            console.log(response.domain);
        - lang: Python
          source: |-
            import os
            from context.dev import ContextDev

            client = ContextDev(
                api_key=os.environ.get("CONTEXT_DEV_API_KEY"),  # This is the default and can be omitted
            )
            response = client.utility.prefetch_by_email(
                email="dev@stainless.com",
            )
            print(response.domain)
        - lang: Ruby
          source: >-
            require "context_dev"


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


            response = context_dev.utility.prefetch_by_email(email:
            "dev@stainless.com")


            puts(response)
components:
  schemas:
    BrandResponse:
      type: object
      properties:
        status:
          type: string
          description: Status of the response, e.g., 'ok'
        brand:
          type: object
          description: Detailed brand information
          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
              description: An array of brand colors
              items:
                type: object
                properties:
                  hex:
                    type: string
                    description: Color in hexadecimal format
                  name:
                    type: string
                    description: Name of the color
            logos:
              type: array
              description: An array of logos associated with the brand
              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
                    description: Array of colors in the logo
                    items:
                      type: object
                      properties:
                        hex:
                          type: string
                          description: Color in hexadecimal format
                        name:
                          type: string
                          description: Name of the color
                  resolution:
                    type: object
                    description: Resolution of the logo image
                    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)
                  type:
                    type: string
                    enum:
                      - icon
                      - logo
                    description: >-
                      Type of the logo based on resolution (e.g., 'icon',
                      'logo')
            backdrops:
              type: array
              description: An array of backdrop images for the brand
              items:
                type: object
                properties:
                  url:
                    type: string
                    description: URL of the backdrop image
                  colors:
                    type: array
                    description: Array of colors in the backdrop image
                    items:
                      type: object
                      properties:
                        hex:
                          type: string
                          description: Color in hexadecimal format
                        name:
                          type: string
                          description: Name of the color
                  resolution:
                    type: object
                    description: Resolution of the backdrop image
                    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)
            socials:
              type: array
              description: An array of social media links for the brand
              items:
                type: object
                properties:
                  type:
                    type: string
                    description: Type of social media, e.g., 'facebook', 'twitter'
                  url:
                    type: string
                    description: URL of the social media page
            address:
              type: object
              description: Physical address of the brand
              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
            stock:
              type: object
              description: >-
                Stock market information for this brand (will be null if not a
                publicly traded company)
              properties:
                ticker:
                  type: string
                  description: Stock ticker symbol
                exchange:
                  type: string
                  description: Stock exchange name
            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
              description: Industry classification information for the brand
              properties:
                eic:
                  type: array
                  description: >-
                    Easy Industry Classification - array of industry and
                    subindustry pairs
                  items:
                    type: object
                    properties:
                      industry:
                        $ref: '#/components/schemas/Industry'
                      subindustry:
                        $ref: '#/components/schemas/Subindustry'
                    required:
                      - industry
                      - subindustry
            links:
              type: object
              description: Important website links for the brand
              properties:
                careers:
                  type: string
                  nullable: true
                  description: URL to the brand's careers or job opportunities page
                privacy:
                  type: string
                  nullable: true
                  description: URL to the brand's privacy policy page
                terms:
                  type: string
                  nullable: true
                  description: >-
                    URL to the brand's terms of service or terms and conditions
                    page
                contact:
                  type: string
                  nullable: true
                  description: URL to the brand's contact or contact us page
                blog:
                  type: string
                  nullable: true
                  description: URL to the brand's blog or news page
                pricing:
                  type: string
                  nullable: true
                  description: URL to the brand's pricing or plans page
        code:
          type: integer
          description: HTTP status code
    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
            - INPUT_VALIDATION_ERROR
            - REQUEST_TIMEOUT
          description: Error code indicating the type of error
    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
    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
        - Advertising, Adtech & Media Buying
        - 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
        - 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
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
