Skip to main content

Demandbase

Demandbase is a B2B go-to-market intelligence platform delivering rich company and contact data via REST APIs. It provides 80+ data points per record — firmographics, technographics, intent signals, corporate hierarchy, and real-time events such as M&A, leadership changes, and funding rounds — that integrate with CRMs, marketing automation, and data warehouses for account-based programs.

Demandbase icon

Power end-to-end data operations for your Demandbase API with Nexla. Our bi-directional Demandbase connector is purpose-built for Demandbase, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Demandbase or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Demandbase workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

The Demandbase connector uses OAuth2-style JWT token authentication. Nexla authenticates by exchanging a Client ID and Client Secret for a short-lived Bearer access token, which is automatically renewed as needed during data flow execution. No manual token management is required.

To connect Nexla to Demandbase, you must first generate an API Key Set in your Demandbase One account. API Key Sets are managed at the platform level, not tied to individual user accounts, so integrations remain stable even when user roles change or individual accounts are deactivated.

Generate a Demandbase API Key Set

  1. Sign in to your Demandbase One account. Administrator access is required to manage API Key Sets.

  2. In the top navigation bar, click Settings, then navigate to APIs > API Key Sets.

  3. Click Create New to begin creating a new API Key Set.

  4. Enter a descriptive name for the key set in the API Key Set Name field — for example, Nexla Integration — so you can identify it easily in the future. Click Save.

  5. On the API Permissions step, select the APIs that this key set should be authorized to access. For use with this Nexla connector, enable access to the B2B API at minimum. Enable Data Import access if you plan to use Demandbase as a destination. Enable Admin access if you plan to use the user administration endpoints. Click Next.

  6. Click Create Token to generate a new API token. Demandbase will display both the Client ID and Client Secret for the token.

Important

Copy and store both the Client ID and Client Secret in a secure location immediately. The Client Secret is shown only once and cannot be retrieved after you close this window. If the secret is lost, you will need to generate a new API token within the key set.

Demandbase allows up to 5 API Key Sets per account (active or inactive combined), with up to 5 active tokens per key set. Plan your API Key Sets accordingly if your organization has multiple integrations. For complete information, see the Demandbase Help Center — Generate and Manage API Key Sets.

Confirm the API Base URL

The default Demandbase API production base URL is https://uapi.demandbase.com. This is the default value pre-filled in the Nexla credential form. If Demandbase has provided a custom or regional base URL for your account, use that value instead.

For the correct base URL for your account, refer to your Demandbase account settings or the Demandbase Developer Portal.

Authenticate

Credentials required

OAuth2-style JWT token auth using Client ID and Client Secret.

FieldRequiredSecretDescription
API Base URLYesNoBase URL for Demandbase API (production or sandbox)
Client IDYesYesOAuth2 Client ID from Demandbase API Key Set
Client SecretYesYesOAuth2 Client Secret from Demandbase API Key Set

Create a credential in Nexla

  1. After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

  2. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

  3. Enter the base URL for your Demandbase API environment in the API Base URL field. The default value is https://uapi.demandbase.com. Use this default for the standard Demandbase production environment. If Demandbase has provided a custom base URL for your account, enter that value here instead.

  4. Enter the Client ID from the API Key Set you generated in Demandbase in the Client ID field. This value is used together with the Client Secret to obtain a Bearer access token that authenticates Nexla's requests to the Demandbase API.

  5. Enter the Client Secret from the API Key Set you generated in Demandbase in the Client Secret field. This value is treated as a password and is stored securely by Nexla.

    Nexla uses the Client ID and Client Secret to automatically request short-lived access tokens from the Demandbase authentication endpoint. The resulting Bearer token is included in the Authorization header of all API requests. You do not need to manually manage token expiration or renewal.

  6. Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation.

Use as a data source

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Demandbase connector tile, then select the credential that will be used to connect to the Demandbase instance, and click Next; or, create a new Demandbase credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Demandbase API endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below.

Search Companies

Search the Demandbase company database using firmographic and location filters to retrieve a list of matching company profiles. Use this endpoint to build targeted account lists based on criteria such as industry, employee count, geography, or company name. Results include rich company profiles with firmographics, technographics, and corporate hierarchy data. This endpoint supports pagination and returns up to 100 results per page.

  • The following filter parameters are available to narrow your company search. All parameters are optional — leaving a filter empty returns results without restriction on that attribute:

    • Company Name: Enter a company name to filter results to companies whose name matches or contains this value.
    • Website Domain: Enter a domain (for example, acme.com) to filter to companies with that website domain.
    • City: Enter a city name to filter to companies headquartered in that city.
    • State: Enter a state or province name to filter to companies headquartered in that state or province.
    • Country: Enter a country name to filter to companies headquartered in that country.
    • Industries: Enter one or more industry classifications to filter to companies in those industries. Refer to the Demandbase B2B API reference for accepted industry values.
    • Min Employees: Enter a minimum employee count to filter to companies with at least this many employees.
    • Max Employees: Enter a maximum employee count to filter to companies with at most this many employees.
    • Sort By: Enter the field name by which results should be sorted.
    • Sort Order: Select asc for ascending order or desc for descending order. Defaults to asc.
  • Results Per Page: Enter the number of results to return per page. The maximum value is 100. Defaults to 100.
  • Page Number: Enter the starting page number for pagination. Defaults to 1. Nexla will automatically paginate through all available pages during ingestion.

This endpoint fetches paginated results and will automatically continue retrieving pages until no more data is returned. For large result sets, consider using filters to narrow results and reduce API credit consumption. See the Demandbase B2B API endpoint reference for additional details.

Search Contacts

Search the Demandbase contact database using name, title, job function, job level, email, or company filters to retrieve a list of matching contact profiles. Use this endpoint to build targeted prospect lists for outreach campaigns. Results include verified business emails, job titles, seniority levels, and associated company information. This endpoint supports pagination and returns up to 100 results per page.

  • The following filter parameters are available to narrow your contact search. All parameters are optional:

    • First Name: Enter a first name to filter to contacts whose first name matches this value.
    • Last Name: Enter a last name to filter to contacts whose last name matches this value.
    • Email: Enter an email address to filter to contacts with that email address.
    • Job Titles: Enter one or more job title values to filter to contacts with matching titles.
    • Job Levels: Enter one or more seniority level values (for example, VP, Director, Manager) to filter to contacts at those levels.
    • Job Functions: Enter one or more department or job function values (for example, Sales, Marketing, Engineering) to filter to contacts in those functions.
    • Company Name: Enter a company name to filter to contacts associated with that company.
    • Sort By: Enter the field name by which results should be sorted.
    • Sort Order: Select asc for ascending order or desc for descending order. Defaults to asc.
  • Results Per Page: Enter the number of results to return per page. The maximum value is 100. Defaults to 100.
  • Page Number: Enter the starting page number for pagination. Defaults to 1. Nexla will automatically paginate through all available pages during ingestion.

Demandbase contact data includes quality grades and verification status for email addresses. For complete information on available filter values and response fields, see the Demandbase B2B API endpoint reference.

Get Contact Details

Retrieve the full profile for a specific contact by their unique Demandbase Contact ID. Use this endpoint when you have a known contact ID — for example, from a previous search or from your CRM — and need to retrieve complete profile details including email, title, job function, seniority, and associated company information.

  • Contact ID (Required): Enter the unique Demandbase identifier for the contact whose profile you want to retrieve. Contact IDs can be obtained from the results of the Search Contacts endpoint or from your existing Demandbase data.

This endpoint returns a single contact record and does not paginate. Use the Search Contacts endpoint to discover contact IDs when they are not already known.

Get Company Details

Retrieve the full profile for a specific company by its unique Demandbase Company ID. Use this endpoint when you have a known company ID and need complete firmographic details including employee count, revenue, industry classification, technographics, corporate hierarchy, and intent data.

  • Company ID (Required): Enter the unique Demandbase identifier for the company whose profile you want to retrieve. Company IDs can be obtained from the results of the Search Companies endpoint or from your existing Demandbase data.

This endpoint returns a single company record and does not paginate. Use the Search Companies endpoint to discover company IDs when they are not already known.

Get Company News

Retrieve news articles associated with a specific company, filtered by news category. Use this endpoint to monitor real-time signals for target accounts — including M&A activity, leadership changes, funding rounds, product launches, and other business events that indicate buying intent or strategic shifts. This endpoint supports pagination.

  • Company ID (Required): Enter the unique Demandbase identifier for the company whose news you want to retrieve. Company IDs can be obtained from the Search Companies or Get Company Details endpoints.
  • News Categories: Optionally, enter one or more news category values to filter articles to specific event types (for example, funding, leadership, M&A). Refer to the Demandbase API reference for supported category values. Leave empty to retrieve all news categories.
  • Page Number: Enter the starting page number for pagination. Defaults to 1.
  • Per Page: Enter the number of articles to return per page. Defaults to 100.

Company news data is a powerful signal for identifying accounts that may be actively researching solutions or undergoing changes that create new buying opportunities. This endpoint fetches up to 50 pages of results.

Get Job Status

Check the status and progress of a bulk matching job previously submitted to Demandbase. Use this endpoint to monitor asynchronous bulk match jobs — for example, to determine when a large batch of company or contact records has been fully processed before retrieving results.

  • Job ID (Required): Enter the unique ID of the bulk match job whose status you want to check. Job IDs are returned by the Create Bulk Match Job destination endpoint when a job is submitted.

This endpoint returns a single status record for the specified job. Poll this endpoint periodically to monitor job progress for long-running bulk match operations.

Get Import Job Status

Retrieve the status and details of a specific data import job previously submitted to Demandbase. Use this endpoint to monitor the progress of import jobs — for example, to verify that account, contact, or activity records have been successfully ingested into Demandbase before proceeding with downstream workflows.

  • Job ID (Required): Enter the unique ID of the import job whose status you want to retrieve. Job IDs are returned by the Create Import Job endpoint when an import job is created.

The Demandbase Data Import API can process up to three million records per hour. For large imports, use this endpoint to monitor progress. For complete information on import job statuses, see the Demandbase Import API documentation.

List Import Jobs

Retrieve a list of all data import jobs for your Demandbase account. Use this endpoint for auditing, monitoring, or building dashboards that track the history and status of all import operations submitted to Demandbase from your organization.

  • This endpoint requires no additional configuration parameters. It returns all import jobs for the authenticated account automatically.

This endpoint returns summary information for all import jobs. To retrieve full details for a specific job, use the Get Import Job Status endpoint with the corresponding Job ID.

List Activity Types

Retrieve all activity type definitions configured for your Demandbase account. Activity types define the categories of engagement events (such as web visits, form submissions, or custom interactions) that can be imported into Demandbase. Use this endpoint to discover available activity types before submitting import data.

  • This endpoint requires no additional configuration parameters. It returns all activity types defined for the authenticated account automatically.

Activity types must be defined before activity data can be imported into Demandbase. Use the Create Activity Type or Update Activity Type destination endpoints to manage activity type definitions.

Get Activity Type

Retrieve the details for a specific activity type definition by its unique ID. Use this endpoint to inspect the schema and configuration of a particular activity type before submitting import data that references it.

  • Activity Type ID (Required): Enter the unique ID of the activity type you want to retrieve. Activity Type IDs can be obtained from the List Activity Types endpoint.

Get Credit Usage

Retrieve credit usage information for your Demandbase account. Use this endpoint to monitor API credit consumption — for example, to track usage against your plan limits, trigger alerts when usage approaches thresholds, or generate usage reports for billing and governance purposes.

  • This endpoint requires no additional configuration parameters. It returns credit usage data for the authenticated account automatically.

For complete information on Demandbase API credit usage and limits, see the Demandbase Credit Usage documentation.

List Users

Retrieve a list of all users in your Demandbase admin system. Use this endpoint for user directory synchronization, access auditing, or to retrieve user IDs needed for user-specific operations such as updates or deletions.

  • This endpoint requires no additional configuration parameters. It returns all users for the authenticated account automatically.

Access to user administration endpoints requires that your API Key Set includes Admin API permissions. Ensure the credential used for this source was created with Admin API access enabled. For complete information, see the Demandbase User Admin API documentation.

Get User

Retrieve the details for a specific user in the Demandbase admin system by their unique User ID. Use this endpoint to retrieve full profile and role information for an individual user.

  • User ID (Required): Enter the unique Demandbase identifier for the user you want to retrieve. User IDs can be obtained from the List Users endpoint.

Access to user administration endpoints requires Admin API permissions in your Demandbase API Key Set.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.

Manual configuration

Demandbase data sources can also be manually configured to ingest data from any valid Demandbase API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.

All Demandbase API endpoints begin with your account's base URL (default: https://uapi.demandbase.com) followed by the endpoint path — for example, the Search Companies endpoint URL is https://uapi.demandbase.com/data/b2b/v1/companies. Most endpoints use GET, except the Search Companies and Search Contacts endpoints, which use POST with filter criteria in the request body. Responses wrap records in a data property — set Path to Data to $.data[*] for paginated list endpoints (such as Search Companies or Search Contacts) or $.data for single-record endpoints (such as Get Company Details). You do not need to add the Authorization header; it is managed automatically by your Demandbase credential. Refer to the Demandbase B2B API endpoint reference for a complete list of endpoint paths.

Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Demandbase data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.

Use as a destination

Click the + icon on the Nexset that will be sent to the Demandbase destination, and select the Send to Destination option from the menu. Select the Demandbase connector from the list of available destination connectors, then select the credential that will be used to connect to the Demandbase account, and click Next; or, create a new Demandbase credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Demandbase API endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.

Match Company and Contact

Submit company and contact data to the Demandbase real-time match endpoint to identify and enrich records against the Demandbase database. Use this endpoint when you need to match individual records or small batches in near-real time — for example, enriching CRM records as they are created or updated. Each record submitted is matched synchronously, and Demandbase returns enriched profile data including firmographics, contact details, and quality scores.

  • Map the fields in your Nexset to the Demandbase match API request schema. The match endpoint accepts JSON payloads that can include company identifiers (domain, name, location) and/or contact identifiers (email, name, title) for matching. Refer to the Demandbase B2B API endpoint reference for the complete request schema.
  • No additional template parameters are required for this endpoint. The full request payload is derived from the Nexset data mapped to this destination.

For large volumes of records, consider using the Create Bulk Match Job endpoint instead, which submits an asynchronous job and is optimized for high-volume matching operations. The real-time Match endpoint is best suited for low-latency, record-by-record enrichment scenarios.

Create Bulk Match Job

Submit a large batch of company and contact records to Demandbase for asynchronous bulk matching. Use this endpoint for high-volume matching operations — for example, enriching an entire CRM export or a large list of leads. Demandbase processes the records asynchronously and returns a Job ID that can be used to monitor progress via the Get Job Status source endpoint.

  • Map the fields in your Nexset to the Demandbase bulk match job request schema. The request body should contain the array of company and/or contact records to be matched. Refer to the Demandbase B2B API endpoint reference for the complete request body schema.
  • No additional template parameters are required for this endpoint. The full request payload is derived from the Nexset data mapped to this destination.

After submitting a bulk match job, use the Get Job Status source endpoint with the returned Job ID to monitor processing progress. The Demandbase API returns the Job ID in the response body after the job is created.

Create Import Job

Create a new data import job in Demandbase to ingest account, contact, opportunity, or activity records into the Demandbase platform. This endpoint initiates the import workflow — after creating the job, use the Submit Data to Import Job endpoint to submit the actual records for processing. The Demandbase Data Import API can process up to three million records per hour.

  • Map the fields in your Nexset to the Demandbase import job creation request schema. The request body should specify the type of data being imported (account, contact, opportunity, or activity) and any relevant import configuration. Refer to the Demandbase Import API documentation for the complete request body schema.
  • No additional template parameters are required for this endpoint. The full request payload is derived from the Nexset data mapped to this destination.

Creating an import job returns a Job ID that must be used in the subsequent Submit Data to Import Job call to associate the data with this job. Store or pass along the Job ID using a Nexla flow step or lookup.

Submit Data to Import Job

Submit records to an existing Demandbase import job for processing. This endpoint is used after Create Import Job to deliver the actual data payload. Use this endpoint to send the account, contact, opportunity, or activity records that should be ingested into Demandbase as part of the import job.

  • Job ID (Required): Enter the unique ID of the import job to which data will be submitted. This ID is returned by the Create Import Job endpoint when the job is created.
  • Map the record fields in your Nexset to the import data payload schema expected by the Demandbase Import API for the applicable record type (account, contact, opportunity, or activity). Refer to the Demandbase Import API documentation for field requirements and formats.

Data submitted to import jobs should be structured according to the Demandbase Import API schema for the applicable record type. After submitting data, use the Get Import Job Status source endpoint with the Job ID to monitor ingestion progress.

Create Activity Type

Create a new activity type definition in Demandbase. Activity types define the categories of engagement events — such as web visits, form submissions, email opens, or custom interactions — that can subsequently be imported into Demandbase via the Data Import API. Activity types must be created before activity data referencing them can be imported.

  • Map the fields in your Nexset to the Demandbase activity type creation request schema. The request body should include the activity type name, description, and any field schema definitions. Refer to the Demandbase Import API documentation for the complete activity type schema.
  • No additional template parameters are required for this endpoint. The full request payload is derived from the Nexset data mapped to this destination.

Once created, activity types can be managed using the Update Activity Type endpoint. Use the List Activity Types and Get Activity Type source endpoints to retrieve existing activity type definitions.

Update Activity Type

Update an existing activity type definition in Demandbase. Use this endpoint to modify the configuration of an activity type — for example, to add new fields, update the description, or change the schema to accommodate new event data structures.

  • Map the fields in your Nexset to the Demandbase activity type update request schema. The request body should include the activity type ID and the updated field values. Refer to the Demandbase Import API documentation for the complete schema.
  • No additional template parameters are required for this endpoint. The full request payload is derived from the Nexset data mapped to this destination.

Create User

Create a new user in the Demandbase admin system. Use this endpoint to provision Demandbase accounts programmatically — for example, as part of an automated onboarding workflow triggered when a new employee is added to your HR system.

  • Map the fields in your Nexset to the Demandbase user creation request schema. The request body should include the user's email address, name, and assigned role. Refer to the Demandbase User Admin API documentation for the complete request schema and available role values.
  • No additional template parameters are required for this endpoint. The full request payload is derived from the Nexset data mapped to this destination.

Access to user administration endpoints requires that your API Key Set includes Admin API permissions. Ensure the credential used for this destination was created with Admin API access enabled in the Demandbase Settings > APIs > API Key Sets panel.

Update User

Update the profile or role of an existing user in the Demandbase admin system. Use this endpoint to synchronize user information with an external identity provider or HR system — for example, updating a user's role when they change teams.

  • Map the fields in your Nexset to the Demandbase user update request schema. The request body should include the user ID and the fields to be updated. Refer to the Demandbase User Admin API documentation for the complete schema and updatable fields.
  • No additional template parameters are required for this endpoint. The full request payload is derived from the Nexset data mapped to this destination.

Admin API permissions are required for this endpoint. Use the List Users or Get User source endpoints to retrieve the User IDs needed for update operations.

Delete User

Delete a user from the Demandbase admin system by their unique User ID. Use this endpoint to deprovision Demandbase accounts — for example, as part of an automated offboarding workflow triggered when an employee leaves your organization.

  • User ID (Required): Enter the unique Demandbase identifier for the user to be deleted. User IDs can be retrieved using the List Users or Get User source endpoints.
Important

Deleting a user is a permanent action and cannot be undone. Ensure the correct User ID is specified before executing this destination.

Admin API permissions are required for this endpoint.

Manual configuration

Demandbase destinations can also be manually configured to send data to any valid Demandbase API endpoint, allowing you to access write endpoints not covered by the pre-built templates or apply custom request structures beyond those available in the templates. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.

All Demandbase API endpoints begin with your account's base URL (default: https://uapi.demandbase.com) followed by the endpoint path. For endpoint paths that include resource IDs (such as User ID or Job ID), include the ID directly in the URL path. Common methods are POST for creating resources (match jobs, import jobs, activity types, users), PUT for updating existing resources, and DELETE for removing resources (deleting users). Demandbase REST API endpoints accept JSON formatted request bodies. You do not need to add the Authorization or Content-Type headers; these are managed automatically by your Demandbase credential. Refer to the Demandbase B2B API endpoint reference for a complete list of destination endpoint paths.

Nexla can automatically send the response received from the Demandbase API after each call to a new Nexla webhook data source. This is particularly useful for capturing Job IDs returned by the Create Import Job or Create Bulk Match Job endpoints, enabling you to chain those IDs into subsequent flow steps for status monitoring or downstream processing.

Save & activate

Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To begin sending data to the configured Demandbase endpoint, open the destination resource menu, and select Activate.

The Nexset data will not be sent to Demandbase until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.