Company Intent

Retrieve company-level intent signals and research activity.

Intent API

Retrieve company intent data

Retrieve company-level research activity across selected companies, keyword sets, or individual keywords. Filter by date, intent strength, and the number of people researching, then move through results using cursor pagination.

Beta POST /companies/intent/query Requires Intent API access 1–100 results per page
Beta endpoint

The contract may change before general availability

Test integrations against the current schema and review release notes when upgrading production workflows that use this endpoint.

What you can measure

Each result connects a company and keyword to research activity measured during a specific date range.

Research activity

People researching

Use numPeopleResearching to understand how many people at the company researched the keyword.

Intent level

Strength classification

Compare LOW, MED, and HIGH intent strength across companies and topics.

Momentum

Trending behavior

Identify active trends using isTrending, trendingScore, and numTrendingDays.

Keyword context

Research topics

Retrieve the researched keyword and its keyword-set ID and name when keyword-set context is available.

Time period

Measurement window

Use result-level start and end dates to understand when the reported activity was measured.

Company context

Company and domain

Associate each signal with its Demandbase company ID and company domain.

Common requests

Research activity for companies

Filters
"companyIds": ["726263", "725771"]

Activity for keyword sets

Filters
"keywordSetIds": [9190, 9191]

Activity for specific keywords

Filters
"keywords": ["Zero Trust", "SASE"]

High intent with several researchers

Filters
"intentStrength": "HIGH",
"minNumPeopleResearching": 5

Quickstart

This endpoint uses the Intent API production base URL. Include a required date range and at least one company, keyword-set, or keyword filter.

Step 1

Query company intent

Request
curl --request POST \
  --url "https://uapi.demandbase.com/data/intent/v1/companies/intent/query" \
  --header "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  --header "Content-Type: application/json" \
  --header "Accept: application/json" \
  --data '{
    "companyIds": ["726263"],
    "keywords": ["Zero Trust"],
    "startDate": "2026-07-01",
    "endDate": "2026-07-22",
    "intentStrength": "HIGH",
    "minNumPeopleResearching": 2,
    "pageSize": 25,
    "sortBy": "endDate",
    "sortOrder": "DESC"
  }'
Step 2

Read the signals and cursors

Illustrative response
{
  "data": [
    {
      "companyId": "726263",
      "domain": "microsoft.com",
      "keyword": "Zero Trust",
      "numPeopleResearching": 8,
      "intentStrength": "HIGH",
      "isTrending": true,
      "trendingScore": 72,
      "numTrendingDays": 3,
      "startDate": "2026-07-12",
      "endDate": "2026-07-18",
      "keywordSetId": 7303,
      "keywordSetName": "Security Keywords"
    }
  ],
  "pagination": {
    "after": "Tzo1MDoyNQ==",
    "before": null,
    "totalCount": 142
  }
}
No matching signals

An empty result set is successful

When no records match the filters, the API returns 200 OK with an empty data array and pagination metadata.

Request anatomy

Required filter

Choose what to query

Include at least one company, keyword-set, or keyword filter.

companyIdsUp to 10
keywordSetIdsUp to 10
keywordsUp to 50
Required dates

Define the time window

Dates are inclusive and must use yyyy-MM-dd format.

startDateWindow start
endDateWindow end
Maximum12-month range
Headers

Authenticate and send JSON

Use an API Key Set that includes access to the Intent API.

AuthorizationBearer access token
Content-Typeapplication/json
Acceptapplication/json
Production base URL

Use the Intent API path

Endpoint
https://uapi.demandbase.com/data/intent/v1/companies/intent/query

Filters and controls

Field Required Description Accepted value
companyIds Conditional Filter by Demandbase company ID. Up to 10 numeric string IDs
keywordSetIds Conditional Filter by keyword-set ID. Up to 10 integer IDs
keywords Conditional Filter by specific research keywords. Up to 50 strings
startDate Yes Set the inclusive beginning of the query window. yyyy-MM-dd
endDate Yes Set the inclusive end of the query window. yyyy-MM-dd
intentStrength No Return only records with the selected intent classification. LOW, MED, or HIGH
minNumPeopleResearching No Set the minimum number of people researching. Non-negative integer
maxNumPeopleResearching No Set the maximum number of people researching. Non-negative integer
pageSize No Set the number of results per page. 1–100; default 25
pageToken No Request the page represented by a returned cursor. Opaque cursor string
sortBy No Select the field used to order results. startDate, endDate, intentStrength, numPeopleResearching, or trendingScore
sortOrder No Select the sort direction. ASC or DESC
Defaults

Results default to the latest end date

If pagination and sorting controls are omitted, the API returns up to 25 results sorted by endDate in DESC order.

Response anatomy

The response contains intent records in data and cursor information in pagination.

Identity and topic

Company and keyword context

companyIdDemandbase company ID
domainCompany domain
keywordResearched keyword
keywordSetIdKeyword-set ID, when available
keywordSetNameKeyword-set name, when available
Research activity

Intent measurements

numPeopleResearchingNumber of people researching
intentStrengthLOW, MED, or HIGH
isTrendingWhether activity is trending
trendingScoreTrend strength from 0 through 100
numTrendingDaysConsecutive days trending
Measurement period

Result dates

startDateBeginning of the measurement period
endDateEnd of the measurement period
Pagination

Result-set metadata

afterCursor for the next page
beforeCursor for the previous page
totalCountTotal matching records
Optional fields

Unavailable values may be omitted

Keyword-set context and other optional attributes appear only when available for the returned intent record.

Important rules

Required filters

Choose at least one intent filter

At least one of companyIds, keywordSetIds, or keywords must contain a value.

Required dates

Use valid inclusive dates

Both dates are required in yyyy-MM-dd format, and startDate must be on or before endDate.

Date window

Limit the range to 12 months

A single query cannot cover a period longer than 12 months.

Filter limits

Keep arrays within their limits

Send no more than 10 company IDs, 10 keyword-set IDs, and 50 keywords.

People researching

Use a valid numeric range

Minimum and maximum values must be non-negative, and the minimum cannot exceed the maximum.

Pagination

Keep the query stable between pages

Reuse the same request filters and ordering when submitting an after or before cursor as pageToken.

Common errors

Status Error How to fix it
400-218 No intent filter was provided. Add at least one company ID, keyword-set ID, or keyword.
400-103 A company ID is not numeric. Use numeric Demandbase company IDs represented as strings.
400-219 More than 10 company IDs were provided. Reduce companyIds to no more than 10 entries.
400-229 More than 10 keyword-set IDs were provided. Reduce keywordSetIds to no more than 10 entries.
400-230 More than 50 keywords were provided. Reduce keywords to no more than 50 entries.
400-220 startDate is missing or invalid. Provide a valid date in yyyy-MM-dd format.
400-221 endDate is missing or invalid. Provide a valid date in yyyy-MM-dd format.
400-222 The start date is after the end date. Set startDate on or before endDate.
400-223 The date range exceeds 12 months. Shorten the requested date window.
400-224 The intent strength is invalid. Use LOW, MED, or HIGH.
400-225 The people-researching range is invalid. Use non-negative integers and keep the minimum less than or equal to the maximum.
400-226 The page size is invalid. Set pageSize to a value from 1 through 100.
400-227 The sort field is invalid. Use one of the supported sortBy values listed above.
400-109 The sort order is invalid. Use ASC or DESC.
400-228 The page token is invalid. Pass an unmodified after or before cursor from a previous response.
401 Authentication failed. Generate a valid token and send it in the Authorization: Bearer YOUR_ACCESS_TOKEN header.
403-100 The API key does not include Intent API access. Use an API Key Set with permission to access the Intent API.
Related resources

Next steps

Open the interactive endpoint reference, review the beta announcement, or find Demandbase company IDs to use in your queries.

Try company intent → · Beta API announcement → · Company Search →