BIMI Checker

Checks whether a website's email branding setup is correct so its logo shows up in inboxes. Checks one or more website addresses to see if they are properly set up to show a brand logo next to emails in inboxes like Gmail, Apple Mail, and Yahoo. It looks up the special settings the domain has published, checks that the logo picture follows the required format, checks that a security certificate for the logo (if any) is valid and not expired, and confirms the domain has strict enough email protection rules turned on. It returns a clear pass or fail for each domain along with a plain list of what is broken if something fails. Pay-per-call at $0.01 USDC over x402 on Base or Solana — no account, no API key. OpenAPI 3.1.0; 1 operation(s): POST /check.

OpenAPI Specification

done-bimi-checker-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: BIMI Checker
  description: Checks one or more website addresses to see if they are properly set up to show a brand logo next to emails
    in inboxes like Gmail, Apple Mail, and Yahoo. It looks up the special settings the domain has published, checks that the
    logo picture follows the required format, checks that a security certificate for the logo (if any) is valid and not expired,
    and confirms the domain has strict enough email protection rules turned on. It returns a clear pass or fail for each domain
    along with a plain list of what is broken if something fails.
  version: 1.0.0
  contact:
    name: _done
    url: https://forms.gle/5KzuSFH7p8hHtDmz7
    email: info@underscoredone.com
  x-openapi-url: https://bimi-checker.underscoredone.com/openapi.json
  x-logo:
    url: https://underscoredone.com/logo.png
    altText: _done
  x-guidance: Call this when a user asks whether a domain's email logo (BIMI) setup will work, why a brand logo is not showing
    in inboxes, or to audit email branding for one or more domains. Submit domains without http/https prefixes. Limit to 10
    domains per call. Set check_vmc to false for a faster, cheaper check when certificate validation is not needed. Read the
    issues list per domain to explain failures in plain terms.
  x-ai-instructions: Call this when a user asks whether a domain's email logo (BIMI) setup will work, why a brand logo is
    not showing in inboxes, or to audit email branding for one or more domains. Submit domains without http/https prefixes.
    Limit to 10 domains per call. Set check_vmc to false for a faster, cheaper check when certificate validation is not needed.
    Read the issues list per domain to explain failures in plain terms.
  x-provider: _done — single-purpose utility APIs for developers and AI agents. Pay per call with USDC on Base Mainnet or
    Solana Mainnet.
  x-pricing:
    model: pay-per-call
    currency: USDC
    network: Base Mainnet or Solana Mainnet
    price: $0.01
  x-keywords:
  - bimi
  - bimi checker
  - email branding
  - dmarc
  - vmc certificate
  - email authentication
  - brand indicators for message identification
  - logo validation
  - email deliverability
  - svg validation
  - inbox logo
  - domain email setup
  - utility
  - api
  - ai-agent
  - pay-per-call
  - usdc
  - x402
  - validation
  - bimi validation
  - dmarc check
  - logo verification
  x-category: validation
  x-provider-url: https://underscoredone.com
  x-agentcash-auth:
    mode: paid
  x-402:
    price: $0.01
    network: eip155:8453
    asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
    pay_to: '0xE9740820225B3918b4ddd1292C7cA4Ca0e2C2F08'
    facilitator: https://api.cdp.coinbase.com/platform/v2/x402
    scheme: exact
    description: Checks one or more website addresses to see if they are properly set up to show a brand logo next to emails
      in inboxes like Gmail, Apple Mail, and Yahoo. It looks up the special settings the domain has published, checks that
      the logo picture follows the required format, checks that a security certificate for the logo (if any) is valid and
      not expired, and confirms the domain has strict enough email protection rules turned on. It returns a clear pass or
      fail for each domain along with a plain list of what is broken if something fails.
    mime_type: application/json
    networks:
    - network: eip155:8453
      asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
      pay_to: '0xE9740820225B3918b4ddd1292C7cA4Ca0e2C2F08'
    - network: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
      asset: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
      pay_to: 8ugAWAXDB8V18kiUrGZTq1oMvU3C6Fxs8hfC6rvzQT3b
paths:
  /check:
    post:
      tags:
      - Validation
      - Bimi Validation
      - bimi
      - Email Branding
      - Dmarc Check
      - Logo Verification
      - bimi checker
      - bimi validator
      - bimi record checker
      - bimi lookup tool
      - check bimi record
      - bimi generator
      - why isn't my logo showing in gmail
      - logo not showing in email
      - brand logo not appearing in inbox
      - how to get logo to show in gmail
      - gmail brand indicator not working
      - outlook logo not showing
      - apple mail logo missing
      - how to show company logo in emails
      - email logo verification
      - how to set up bimi
      - how to add bimi record
      - bimi record example
      - bimi setup guide
      - what is bimi record
      - bimi requirements for gmail
      - dmarc checker
      - dmarc record checker
      - spf dkim dmarc checker
      - vmc certificate
      - verified mark certificate
      - what is a vmc certificate
      - dmarc policy checker
      - email authentication checker
      - svg logo validator
      - bimi svg requirements
      - vmc certificate cost
      - vmc certificate provider
      - email branding tool
      - brand logo email marketing
      - improve email deliverability
      - email deliverability checker
      - domain email security check
      summary: Checks if a domain's email logo branding setup is valid and ready to display.
      description: Checks one or more website addresses to see if their email branding logo setup will work correctly, and
        explains what is wrong if it will not.
      operationId: handler_check_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Request'
        required: true
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Response'
              examples:
                success:
                  summary: Successful response
                  value:
                    api_version: 1.0.0
        '422':
          description: Unprocessable — a required field is missing or the wrong type. Check the detail field for specifics.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: array
        '402':
          description: Payment required. Send a signed USDC payment on Base Mainnet or Solana Mainnet using the x402 protocol.
          headers:
            X-Payment-Response:
              description: x402 payment challenge — base64-encoded JSON with payment details.
              schema:
                type: string
        '400':
          description: Bad request — your input failed validation or could not be processed. Check the detail field for specifics.
          content:
            application/json:
              schema:
                type: object
                properties:
                  detail:
                    type: string
      x-ai-instructions: Call this when a user asks whether a domain's email logo (BIMI) setup will work, why a brand logo
        is not showing in inboxes, or to audit email branding for one or more domains. Submit domains without http/https prefixes.
        Limit to 10 domains per call. Set check_vmc to false for a faster, cheaper check when certificate validation is not
        needed. Read the issues list per domain to explain failures in plain terms.
      x-guidance: Call this when a user asks whether a domain's email logo (BIMI) setup will work, why a brand logo is not
        showing in inboxes, or to audit email branding for one or more domains. Submit domains without http/https prefixes.
        Limit to 10 domains per call. Set check_vmc to false for a faster, cheaper check when certificate validation is not
        needed. Read the issues list per domain to explain failures in plain terms.
      x-payment-info:
        price:
          fixed:
            mode: fixed
            currency: USD
            amount: '0.01'
        protocols:
        - x402: {}
components:
  schemas:
    DomainCheckDetail:
      properties:
        bimi_record_found:
          type: boolean
          title: Bimi Record Found
          description: Whether the special branding settings were found for this website.
        svg_valid:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Svg Valid
          description: Whether the logo picture follows the required format. Empty if it was not checked.
        vmc_valid:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Vmc Valid
          description: Whether the logo's security certificate is valid and not expired. Empty if it was not checked.
        dmarc_strict:
          type: boolean
          title: Dmarc Strict
          description: Whether the domain has strict enough email protection rules turned on.
      type: object
      required:
      - bimi_record_found
      - dmarc_strict
      title: DomainCheckDetail
      example:
        bimi_record_found: false
        dmarc_strict: false
    DomainResult:
      properties:
        domain:
          type: string
          title: Domain
          description: The website address that was checked.
        selector:
          type: string
          title: Selector
          description: The label used to find the branding settings for this website.
        valid:
          type: boolean
          title: Valid
          description: Whether the branding setup is fully correct and ready to display a logo.
        issues:
          items:
            type: string
          type: array
          title: Issues
          description: A plain list of everything that is broken, if anything.
        checks:
          $ref: '#/components/schemas/DomainCheckDetail'
          description: The individual results for each part of the check.
      type: object
      required:
      - domain
      - selector
      - valid
      - issues
      - checks
      title: DomainResult
      example:
        checks:
          bimi_record_found: false
          dmarc_strict: false
        domain: example.com
        issues:
        - No BIMI TXT record found at default._bimi.example.com
        selector: default
        valid: false
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    Request:
      properties:
        domains:
          items:
            type: string
          type: array
          title: Domains
          description: List of website addresses to check, such as example.com. Up to 10 per request. Do not include http://
            or https://.
        selector:
          type: string
          title: Selector
          description: The label used to find the branding settings, almost always 'default'. Only change this if the domain
            uses a custom label.
          default: default
        check_vmc:
          type: boolean
          title: Check Vmc
          description: Whether to also verify the logo's security certificate. Turn off for a quicker check.
          default: true
      type: object
      required:
      - domains
      title: Request
      example:
        check_vmc: true
        domains:
        - example.com
        - brand.co
        selector: default
    Response:
      properties:
        api_version:
          type: string
          title: Api Version
          description: The version of this checking service.
          default: 1.0.0
        checked:
          type: integer
          title: Checked
          description: How many website addresses were checked.
        results:
          items:
            $ref: '#/components/schemas/DomainResult'
          type: array
          title: Results
          description: The check results for each website address, in the order submitted.
      type: object
      required:
      - checked
      - results
      title: Response
      example:
        api_version: 1.0.0
        checked: 1
        results:
        - checks:
            bimi_record_found: false
            dmarc_strict: false
          domain: example.com
          issues:
          - No BIMI TXT record found at default._bimi.example.com
          selector: default
          valid: false
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
        input:
          title: Input
        ctx:
          type: object
          title: Context
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
  securitySchemes:
    siwx:
      type: apiKey
      in: header
      name: SIGN-IN-WITH-X
      description: CAIP-122 wallet signature for repeat access after payment
servers:
- url: https://bimi-checker.underscoredone.com
  description: Production
tags:
- name: Validation
- name: Bimi Validation
- name: bimi
- name: Email Branding
- name: Dmarc Check
- name: Logo Verification
- name: bimi checker
- name: bimi validator
- name: bimi record checker
- name: bimi lookup tool
- name: check bimi record
- name: bimi generator
- name: why isn't my logo showing in gmail
- name: logo not showing in email
- name: brand logo not appearing in inbox
- name: how to get logo to show in gmail
- name: gmail brand indicator not working
- name: outlook logo not showing
- name: apple mail logo missing
- name: how to show company logo in emails
- name: email logo verification
- name: how to set up bimi
- name: how to add bimi record
- name: bimi record example
- name: bimi setup guide
- name: what is bimi record
- name: bimi requirements for gmail
- name: dmarc checker
- name: dmarc record checker
- name: spf dkim dmarc checker
- name: vmc certificate
- name: verified mark certificate
- name: what is a vmc certificate
- name: dmarc policy checker
- name: email authentication checker
- name: svg logo validator
- name: bimi svg requirements
- name: vmc certificate cost
- name: vmc certificate provider
- name: email branding tool
- name: brand logo email marketing
- name: improve email deliverability
- name: email deliverability checker
- name: domain email security check
x402Version: 2
x-payment-accepts:
- scheme: exact
  network: eip155:8453
  payTo: '0xE9740820225B3918b4ddd1292C7cA4Ca0e2C2F08'
  asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
- scheme: exact
  network: solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
  payTo: 8ugAWAXDB8V18kiUrGZTq1oMvU3C6Fxs8hfC6rvzQT3b
  asset: EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v