Demandbase API

The Demandbase API provides programmatic access to account identification, firmographic data, and visitor intelligence to enable account-based experiences.

OpenAPI Specification

demandbase-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Demandbase API
  description: >-
    The Demandbase API provides programmatic access to account identification,
    firmographic data, and visitor intelligence to enable account-based
    experiences. Use this API to look up company information, enrich account
    records, and power ABM workflows.
  version: '1.0'
  contact:
    name: Demandbase Support
    url: https://support.demandbase.com/
  termsOfService: https://www.demandbase.com/terms-of-service/
externalDocs:
  description: Demandbase API Documentation
  url: https://docs.demandbase.com/
servers:
  - url: https://api.demandbase.com
    description: Demandbase Production API
tags:
  - name: Accounts
    description: Look up and retrieve account information
  - name: Enrichment
    description: Enrich account and contact records with B2B data
  - name: Firmographics
    description: Access firmographic data for companies
  - name: Identification
    description: Identify companies from various signals
security:
  - apiKeyAuth: []
paths:
  /accounts/search:
    get:
      operationId: searchAccounts
      summary: Demandbase Search accounts
      description: >-
        Search for accounts by company name, domain, or other firmographic
        attributes. Returns matching account records with firmographic data.
      tags:
        - Accounts
      parameters:
        - name: query
          in: query
          required: true
          description: Search query string (company name, domain, etc.)
          schema:
            type: string
        - name: limit
          in: query
          required: false
          description: Maximum number of results to return
          schema:
            type: integer
            default: 10
            maximum: 100
        - name: offset
          in: query
          required: false
          description: Number of results to skip for pagination
          schema:
            type: integer
            default: 0
      responses:
        '200':
          description: Matching accounts returned successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/Account'
                  total:
                    type: integer
                    description: Total number of matching results
        '400':
          description: Invalid search parameters
        '401':
          description: Unauthorized - invalid or missing API key
        '429':
          description: Rate limit exceeded
  /accounts/{accountId}:
    get:
      operationId: getAccount
      summary: Demandbase Get account by ID
      description: >-
        Retrieve detailed firmographic and account information for a specific
        account by its Demandbase account ID.
      tags:
        - Accounts
      parameters:
        - $ref: '#/components/parameters/accountId'
      responses:
        '200':
          description: Account details returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Account'
        '401':
          description: Unauthorized
        '404':
          description: Account not found
  /accounts/domain/{domain}:
    get:
      operationId: getAccountByDomain
      summary: Demandbase Get account by domain
      description: >-
        Look up a company account by its web domain. Returns firmographic
        data and account attributes for the matched company.
      tags:
        - Accounts
        - Identification
      parameters:
        - name: domain
          in: path
          required: true
          description: Company web domain (e.g., acme.com)
          schema:
            type: string
      responses:
        '200':
          description: Account details returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Account'
        '401':
          description: Unauthorized
        '404':
          description: No account found for the given domain
  /enrichment/account:
    post:
      operationId: enrichAccount
      summary: Demandbase Enrich account record
      description: >-
        Enrich an account record with Demandbase firmographic data, intent
        signals, and technographic information by providing a domain or
        company name.
      tags:
        - Enrichment
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/EnrichmentRequest'
      responses:
        '200':
          description: Enriched account data returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Account'
        '400':
          description: Invalid request body
        '401':
          description: Unauthorized
        '404':
          description: No matching account found
  /firmographics/{domain}:
    get:
      operationId: getFirmographics
      summary: Demandbase Get firmographic data
      description: >-
        Retrieve firmographic data for a company by its domain, including
        employee count, revenue, industry, location, and corporate hierarchy.
      tags:
        - Firmographics
      parameters:
        - name: domain
          in: path
          required: true
          description: Company web domain
          schema:
            type: string
      responses:
        '200':
          description: Firmographic data returned successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Firmographics'
        '401':
          description: Unauthorized
        '404':
          description: No firmographic data found for the given domain
components:
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: API key provided as a bearer token in the Authorization header
  parameters:
    accountId:
      name: accountId
      in: path
      required: true
      description: Demandbase account unique identifier
      schema:
        type: string
  schemas:
    Account:
      type: object
      properties:
        account_id:
          type: string
          description: Unique Demandbase account identifier
        company_name:
          type: string
          description: Official company name
        domain:
          type: string
          description: Primary web domain
        industry:
          type: string
          description: Industry classification
        sub_industry:
          type: string
          description: Sub-industry classification
        employee_count:
          type: integer
          description: Number of employees
        employee_range:
          type: string
          description: Employee count range bucket
        revenue:
          type: number
          description: Annual revenue in USD
        revenue_range:
          type: string
          description: Revenue range bucket
        address:
          type: string
          description: Street address
        city:
          type: string
          description: City
        state:
          type: string
          description: State or province
        country:
          type: string
          description: Country
        zip:
          type: string
          description: Postal code
        phone:
          type: string
          description: Primary phone number
        website:
          type: string
          format: uri
          description: Company website URL
        stock_ticker:
          type: string
          description: Stock ticker symbol
        fortune_1000:
          type: boolean
          description: Whether the company is in the Fortune 1000
        forbes_2000:
          type: boolean
          description: Whether the company is in the Forbes 2000
        parent_company_id:
          type: string
          description: Demandbase ID of parent company
        ultimate_parent_company_id:
          type: string
          description: Demandbase ID of ultimate parent company
    Firmographics:
      type: object
      properties:
        domain:
          type: string
          description: Company web domain
        company_name:
          type: string
          description: Official company name
        employee_count:
          type: integer
          description: Number of employees
        employee_range:
          type: string
          description: Employee count range
        revenue:
          type: number
          description: Annual revenue in USD
        revenue_range:
          type: string
          description: Revenue range bucket
        industry:
          type: string
          description: Industry classification
        sub_industry:
          type: string
          description: Sub-industry classification
        country:
          type: string
          description: Country of headquarters
        state:
          type: string
          description: State or province of headquarters
        city:
          type: string
          description: City of headquarters
        sic_code:
          type: string
          description: SIC industry code
        naics_code:
          type: string
          description: NAICS industry code
    EnrichmentRequest:
      type: object
      properties:
        domain:
          type: string
          description: Company web domain for enrichment
        company_name:
          type: string
          description: Company name for matching
      description: Provide at least one of domain or company_name