Dun & Bradstreet Search API

Find companies, principals, and related entities.

Operations 2

GET /v1/search/criteria Search Companies By Criteria #
GET /v1/search/contact Search Contacts By Criteria #

Documentation

Specifications

Schemas & Data

Other Resources

🔗
ChangeLog
https://directplus.documentation.dnb.com/html/resources/ChangeHistory.html
🔗
Support
https://directplus.documentation.dnb.com/support.html
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/dun-and-bradstreet/refs/heads/main/examples/dnb-direct-plus-generate-access-token-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/dun-and-bradstreet/refs/heads/main/examples/dnb-direct-plus-cleanse-match-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/dun-and-bradstreet/refs/heads/main/examples/dnb-direct-plus-search-companies-by-criteria-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/dun-and-bradstreet/refs/heads/main/examples/dnb-direct-plus-search-contacts-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/dun-and-bradstreet/refs/heads/main/examples/dnb-direct-plus-get-data-blocks-by-duns-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/dun-and-bradstreet/refs/heads/main/examples/dnb-direct-plus-multi-process-match-and-enrich-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/dun-and-bradstreet/refs/heads/main/examples/dnb-direct-plus-submit-batch-file-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/dun-and-bradstreet/refs/heads/main/examples/dnb-direct-plus-get-batch-file-status-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/dun-and-bradstreet/refs/heads/main/examples/dnb-direct-plus-download-batch-file-results-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/dun-and-bradstreet/refs/heads/main/examples/dnb-direct-plus-create-monitoring-registration-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/dun-and-bradstreet/refs/heads/main/examples/dnb-direct-plus-add-duns-to-registration-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/dun-and-bradstreet/refs/heads/main/examples/dnb-direct-plus-remove-duns-from-registration-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/dun-and-bradstreet/refs/heads/main/examples/dnb-direct-plus-pull-monitoring-notifications-example.json
🔗
Examples
https://raw.githubusercontent.com/api-evangelist/dun-and-bradstreet/refs/heads/main/examples/dnb-direct-plus-get-audit-record-example.json

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/dun-and-bradstreet-search-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

dun-and-bradstreet-search-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: D&B Direct+ Authentication Search API
  description: D&B Direct+ is Dun & Bradstreet's RESTful API platform that exposes the D&B Data Cloud — more than 500 million companies worldwide — for identity resolution, search, enrichment, multi-process (match plus enrich), batch processing, change monitoring, and historical research. All endpoints return JSON, are versioned in the URI path, and require an OAuth 2.0 bearer token obtained from the /v3/token endpoint via client-credentials grant. This profile is an OpenAPI sketch of the public surface based on Dun & Bradstreet's published Direct+ documentation; the canonical operation definitions live behind the gated developer portal at https://directplus.documentation.dnb.com/.
  version: '3.0'
  contact:
    name: D&B Direct+ Support
    url: https://service.dnb.com/
  termsOfService: https://www.dnb.com/utility-pages/terms-of-use.html
  license:
    name: Proprietary
    url: https://www.dnb.com/utility-pages/terms-of-use.html
servers:
- url: https://plus.dnb.com
  description: Production
tags:
- name: Search
  description: Find companies, principals, and related entities.
paths:
  /v1/search/criteria:
    get:
      tags:
      - Search
      summary: Search Companies By Criteria
      description: Find companies matching free-form criteria such as name, address, registration number, industry, or contact. Returns a paginated list of candidate records intended for browse-and-pick workflows rather than authoritative match.
      operationId: searchCompaniesByCriteria
      security:
      - bearerAuth: []
      parameters:
      - name: searchTerm
        in: query
        schema:
          type: string
      - name: countryISOAlpha2Code
        in: query
        schema:
          type: string
      - name: pageNumber
        in: query
        schema:
          type: integer
          minimum: 1
          default: 1
      - name: pageSize
        in: query
        schema:
          type: integer
          minimum: 1
          maximum: 50
          default: 50
      responses:
        '200':
          description: Search results.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /v1/search/contact:
    get:
      tags:
      - Search
      summary: Search Contacts By Criteria
      description: Find named principals or contacts (executives, beneficial owners, decision-makers) matching the supplied criteria, returning a paginated candidate list.
      operationId: searchContacts
      security:
      - bearerAuth: []
      parameters:
      - name: searchTerm
        in: query
        schema:
          type: string
      - name: countryISOAlpha2Code
        in: query
        schema:
          type: string
      - name: pageSize
        in: query
        schema:
          type: integer
          minimum: 1
          maximum: 50
          default: 50
      responses:
        '200':
          description: Contact search results.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ContactSearchResponse'
components:
  schemas:
    ContactSearchResponse:
      type: object
      properties:
        transactionDetail:
          $ref: '#/components/schemas/TransactionDetail'
        candidatesReturnedQuantity:
          type: integer
        searchCandidates:
          type: array
          items:
            type: object
            properties:
              contact:
                type: object
                properties:
                  fullName:
                    type: string
                  jobTitles:
                    type: array
                    items:
                      type: object
                      properties:
                        title:
                          type: string
              organization:
                $ref: '#/components/schemas/OrganizationSummary'
    OrganizationSummary:
      type: object
      properties:
        duns:
          type: string
          pattern: ^[0-9]{9}$
        primaryName:
          type: string
        primaryAddress:
          $ref: '#/components/schemas/Address'
        countryISOAlpha2Code:
          type: string
        telephone:
          type: array
          items:
            type: object
            properties:
              telephoneNumber:
                type: string
        registrationNumbers:
          type: array
          items:
            type: object
            properties:
              registrationNumber:
                type: string
              typeDescription:
                type: string
    TransactionDetail:
      type: object
      properties:
        transactionID:
          type: string
        transactionTimestamp:
          type: string
          format: date-time
        inLanguage:
          type: string
        serviceVersion:
          type: string
    Error:
      type: object
      properties:
        transactionDetail:
          $ref: '#/components/schemas/TransactionDetail'
        error:
          type: object
          properties:
            errorMessage:
              type: string
            errorCode:
              type: string
            errorDetails:
              type: array
              items:
                type: object
    SearchResponse:
      type: object
      properties:
        transactionDetail:
          $ref: '#/components/schemas/TransactionDetail'
        candidatesReturnedQuantity:
          type: integer
        candidatesMatchedQuantity:
          type: integer
        searchCandidates:
          type: array
          items:
            type: object
            properties:
              organization:
                $ref: '#/components/schemas/OrganizationSummary'
    Address:
      type: object
      properties:
        streetAddress:
          type: object
          properties:
            line1:
              type: string
            line2:
              type: string
        addressLocality:
          type: object
          properties:
            name:
              type: string
        addressRegion:
          type: object
          properties:
            name:
              type: string
            abbreviatedName:
              type: string
        postalCode:
          type: string
        addressCountry:
          type: object
          properties:
            isoAlpha2Code:
              type: string
  responses:
    Unauthorized:
      description: Missing or invalid bearer token.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
    basicAuth:
      type: http
      scheme: basic