Demandbase B2B Data API

REST-based API providing programmatic access to B2B company and contact intelligence, including company search, contact discovery, data enrichment, and firmographic data across millions of businesses.

OpenAPI Specification

demandbase-b2b-data-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Demandbase B2B Data API
  description: >-
    REST-based API providing programmatic access to B2B company and contact
    intelligence, including company search, contact discovery, data enrichment,
    and firmographic data across millions of businesses.
  version: '1.0'
  contact:
    name: Demandbase Support
    url: https://support.demandbase.com/
  termsOfService: https://www.demandbase.com/terms-of-service/
externalDocs:
  description: Demandbase B2B Data API Documentation
  url: https://kb.demandbase.com/hc/en-us/categories/6520773158171-API
servers:
  - url: https://api.demandbase.com
    description: Demandbase B2B Data API Production
tags:
  - name: Company Search
    description: Search and discover companies
  - name: Contacts
    description: Contact discovery and lookup
  - name: Enrichment
    description: Data enrichment operations
  - name: Technographics
    description: Technology usage data
security:
  - apiKeyAuth: []
paths:
  /data/v1/companies/search:
    get:
      operationId: searchCompanies
      summary: Demandbase Search companies
      description: >-
        Search for companies by name, domain, industry, location, or other
        firmographic attributes. Returns matching companies with detailed
        firmographic profiles.
      tags:
        - Company Search
      parameters:
        - name: query
          in: query
          required: false
          description: Free-text search query
          schema:
            type: string
        - name: domain
          in: query
          required: false
          description: Filter by company domain
          schema:
            type: string
        - name: industry
          in: query
          required: false
          description: Filter by industry
          schema:
            type: string
        - name: country
          in: query
          required: false
          description: Filter by country
          schema:
            type: string
        - name: employee_range
          in: query
          required: false
          description: Filter by employee range
          schema:
            type: string
        - name: revenue_range
          in: query
          required: false
          description: Filter by revenue range
          schema:
            type: string
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            default: 25
            maximum: 100
        - name: offset
          in: query
          required: false
          schema:
            type: integer
            default: 0
      responses:
        '200':
          description: Company search results
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/Company'
                  total:
                    type: integer
        '400':
          description: Invalid search parameters
        '401':
          description: Unauthorized
        '429':
          description: Rate limit exceeded
  /data/v1/companies/{companyId}:
    get:
      operationId: getCompany
      summary: Demandbase Get company details
      description: >-
        Retrieve detailed company information by Demandbase company ID,
        including firmographics, technographics, and corporate hierarchy.
      tags:
        - Company Search
      parameters:
        - $ref: '#/components/parameters/companyId'
      responses:
        '200':
          description: Company details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Company'
        '401':
          description: Unauthorized
        '404':
          description: Company not found
  /data/v1/contacts/search:
    get:
      operationId: searchContacts
      summary: Demandbase Search contacts
      description: >-
        Search for business contacts by name, title, company, or other
        attributes. Returns matching contact profiles.
      tags:
        - Contacts
      parameters:
        - name: query
          in: query
          required: false
          description: Free-text search query
          schema:
            type: string
        - name: company_id
          in: query
          required: false
          description: Filter contacts by company ID
          schema:
            type: string
        - name: domain
          in: query
          required: false
          description: Filter contacts by company domain
          schema:
            type: string
        - name: title
          in: query
          required: false
          description: Filter by job title
          schema:
            type: string
        - name: department
          in: query
          required: false
          description: Filter by department
          schema:
            type: string
        - name: seniority
          in: query
          required: false
          description: Filter by seniority level
          schema:
            type: string
        - name: limit
          in: query
          required: false
          schema:
            type: integer
            default: 25
            maximum: 100
        - name: offset
          in: query
          required: false
          schema:
            type: integer
            default: 0
      responses:
        '200':
          description: Contact search results
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/Contact'
                  total:
                    type: integer
        '400':
          description: Invalid search parameters
        '401':
          description: Unauthorized
  /data/v1/contacts/{contactId}:
    get:
      operationId: getContact
      summary: Demandbase Get contact details
      description: Retrieve detailed information for a specific contact.
      tags:
        - Contacts
      parameters:
        - name: contactId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Contact details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Contact'
        '401':
          description: Unauthorized
        '404':
          description: Contact not found
  /data/v1/enrichment/company:
    post:
      operationId: enrichCompany
      summary: Demandbase Enrich company data
      description: >-
        Enrich a company record with Demandbase data by providing a domain,
        company name, or other identifiers.
      tags:
        - Enrichment
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                domain:
                  type: string
                  description: Company domain
                company_name:
                  type: string
                  description: Company name
                country:
                  type: string
                  description: Country for disambiguation
      responses:
        '200':
          description: Enriched company data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Company'
        '400':
          description: Invalid request
        '401':
          description: Unauthorized
        '404':
          description: No matching company found
  /data/v1/enrichment/contact:
    post:
      operationId: enrichContact
      summary: Demandbase Enrich contact data
      description: >-
        Enrich a contact record with Demandbase data by providing email,
        name, or other identifiers.
      tags:
        - Enrichment
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                email:
                  type: string
                  format: email
                  description: Contact email address
                first_name:
                  type: string
                  description: Contact first name
                last_name:
                  type: string
                  description: Contact last name
                company_domain:
                  type: string
                  description: Company domain for matching
      responses:
        '200':
          description: Enriched contact data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Contact'
        '400':
          description: Invalid request
        '401':
          description: Unauthorized
        '404':
          description: No matching contact found
  /data/v1/technographics/{domain}:
    get:
      operationId: getTechnographics
      summary: Demandbase Get technographic data
      description: >-
        Retrieve technology usage data for a company by domain, including
        technologies detected and categories.
      tags:
        - Technographics
      parameters:
        - name: domain
          in: path
          required: true
          description: Company domain
          schema:
            type: string
      responses:
        '200':
          description: Technographic data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Technographics'
        '401':
          description: Unauthorized
        '404':
          description: No technographic data found
components:
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: API key for authentication
  parameters:
    companyId:
      name: companyId
      in: path
      required: true
      description: Demandbase company unique identifier
      schema:
        type: string
  schemas:
    Company:
      type: object
      properties:
        company_id:
          type: string
          description: Demandbase company identifier
        company_name:
          type: string
          description: Official company name
        domain:
          type: string
          description: Primary web domain
        website:
          type: string
          format: uri
          description: Company website URL
        industry:
          type: string
          description: Industry classification
        sub_industry:
          type: string
          description: Sub-industry classification
        sic_code:
          type: string
          description: SIC code
        naics_code:
          type: string
          description: NAICS code
        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
        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: Phone number
        stock_ticker:
          type: string
          description: Stock ticker symbol
        founded_year:
          type: integer
          description: Year the company was founded
        fortune_1000:
          type: boolean
          description: Fortune 1000 membership
        forbes_2000:
          type: boolean
          description: Forbes 2000 membership
        parent_company_id:
          type: string
          description: Parent company ID
        parent_company_name:
          type: string
          description: Parent company name
        ultimate_parent_company_id:
          type: string
          description: Ultimate parent company ID
        ultimate_parent_company_name:
          type: string
          description: Ultimate parent company name
    Contact:
      type: object
      properties:
        contact_id:
          type: string
          description: Demandbase contact identifier
        first_name:
          type: string
          description: First name
        last_name:
          type: string
          description: Last name
        email:
          type: string
          format: email
          description: Email address
        title:
          type: string
          description: Job title
        department:
          type: string
          description: Department
        seniority:
          type: string
          description: Seniority level
        phone:
          type: string
          description: Direct phone number
        linkedin_url:
          type: string
          format: uri
          description: LinkedIn profile URL
        company_id:
          type: string
          description: Associated Demandbase company ID
        company_name:
          type: string
          description: Company name
        company_domain:
          type: string
          description: Company domain
    Technographics:
      type: object
      properties:
        domain:
          type: string
          description: Company domain
        technologies:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
                description: Technology name
              category:
                type: string
                description: Technology category
              vendor:
                type: string
                description: Technology vendor
              first_detected:
                type: string
                format: date
                description: When the technology was first detected
              last_detected:
                type: string
                format: date
                description: When the technology was last detected
          description: Technologies used by the company