Demandbase · Capability

Demandbase B2B Data API — Contacts

Demandbase B2B Data API — Contacts. 2 operations. Lead operation: Demandbase Search contacts. Self-contained Naftiko capability covering one Demandbase business surface.

Run with Naftiko DemandbaseContacts

What You Can Do

GET
Searchcontacts — Demandbase Search contacts
/v1/data/v1/contacts/search
GET
Getcontact — Demandbase Get contact details
/v1/data/v1/contacts/{contactid}

MCP Tools

demandbase-search-contacts

Demandbase Search contacts

read-only idempotent
demandbase-get-contact-details

Demandbase Get contact details

read-only idempotent

Capability Spec

b2b-data-contacts.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Demandbase B2B Data API — Contacts
  description: 'Demandbase B2B Data API — Contacts. 2 operations. Lead operation: Demandbase Search contacts. Self-contained
    Naftiko capability covering one Demandbase business surface.'
  tags:
  - Demandbase
  - Contacts
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    DEMANDBASE_API_KEY: DEMANDBASE_API_KEY
capability:
  consumes:
  - type: http
    namespace: b2b-data-contacts
    baseUri: https://api.demandbase.com
    description: Demandbase B2B Data API — Contacts business capability. Self-contained, no shared references.
    resources:
    - name: data-v1-contacts-search
      path: /data/v1/contacts/search
      operations:
      - name: searchcontacts
        method: GET
        description: Demandbase Search contacts
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: query
          in: query
          type: string
          description: Free-text search query
        - name: company_id
          in: query
          type: string
          description: Filter contacts by company ID
        - name: domain
          in: query
          type: string
          description: Filter contacts by company domain
        - name: title
          in: query
          type: string
          description: Filter by job title
        - name: department
          in: query
          type: string
          description: Filter by department
        - name: seniority
          in: query
          type: string
          description: Filter by seniority level
        - name: limit
          in: query
          type: integer
        - name: offset
          in: query
          type: integer
    - name: data-v1-contacts-contactId
      path: /data/v1/contacts/{contactId}
      operations:
      - name: getcontact
        method: GET
        description: Demandbase Get contact details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: contactId
          in: path
          type: string
          required: true
    authentication:
      type: apikey
      key: Authorization
      value: '{{env.DEMANDBASE_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: b2b-data-contacts-rest
    port: 8080
    description: REST adapter for Demandbase B2B Data API — Contacts. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/data/v1/contacts/search
      name: data-v1-contacts-search
      description: REST surface for data-v1-contacts-search.
      operations:
      - method: GET
        name: searchcontacts
        description: Demandbase Search contacts
        call: b2b-data-contacts.searchcontacts
        with:
          query: rest.query
          company_id: rest.company_id
          domain: rest.domain
          title: rest.title
          department: rest.department
          seniority: rest.seniority
          limit: rest.limit
          offset: rest.offset
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/data/v1/contacts/{contactid}
      name: data-v1-contacts-contactid
      description: REST surface for data-v1-contacts-contactId.
      operations:
      - method: GET
        name: getcontact
        description: Demandbase Get contact details
        call: b2b-data-contacts.getcontact
        with:
          contactId: rest.contactId
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: b2b-data-contacts-mcp
    port: 9090
    transport: http
    description: MCP adapter for Demandbase B2B Data API — Contacts. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: demandbase-search-contacts
      description: Demandbase Search contacts
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: b2b-data-contacts.searchcontacts
      with:
        query: tools.query
        company_id: tools.company_id
        domain: tools.domain
        title: tools.title
        department: tools.department
        seniority: tools.seniority
        limit: tools.limit
        offset: tools.offset
      outputParameters:
      - type: object
        mapping: $.
    - name: demandbase-get-contact-details
      description: Demandbase Get contact details
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: b2b-data-contacts.getcontact
      with:
        contactId: tools.contactId
      outputParameters:
      - type: object
        mapping: $.