Retrieve company-level intent signals and research activity.
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.
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.
People researching
Use numPeopleResearching to understand how many people at the company researched the keyword.
Strength classification
Compare LOW, MED, and HIGH intent strength across companies and topics.
Trending behavior
Identify active trends using isTrending, trendingScore, and numTrendingDays.
Research topics
Retrieve the researched keyword and its keyword-set ID and name when keyword-set context is available.
Measurement window
Use result-level start and end dates to understand when the reported activity was measured.
Company and domain
Associate each signal with its Demandbase company ID and company domain.
Common requests
Research activity for companies
Activity for keyword sets
Activity for specific keywords
High intent with several researchers
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.
Query company intent
Read the signals and cursors
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
Choose what to query
Include at least one company, keyword-set, or keyword filter.
companyIds | Up to 10 |
keywordSetIds | Up to 10 |
keywords | Up to 50 |
Define the time window
Dates are inclusive and must use yyyy-MM-dd format.
startDate | Window start |
endDate | Window end |
| Maximum | 12-month range |
Authenticate and send JSON
Use an API Key Set that includes access to the Intent API.
Authorization | Bearer access token |
Content-Type | application/json |
Accept | application/json |
Use the Intent API path
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 |
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.
Company and keyword context
companyId | Demandbase company ID |
domain | Company domain |
keyword | Researched keyword |
keywordSetId | Keyword-set ID, when available |
keywordSetName | Keyword-set name, when available |
Intent measurements
numPeopleResearching | Number of people researching |
intentStrength | LOW, MED, or HIGH |
isTrending | Whether activity is trending |
trendingScore | Trend strength from 0 through 100 |
numTrendingDays | Consecutive days trending |
Result dates
startDate | Beginning of the measurement period |
endDate | End of the measurement period |
Result-set metadata
after | Cursor for the next page |
before | Cursor for the previous page |
totalCount | Total matching records |
Unavailable values may be omitted
Keyword-set context and other optional attributes appear only when available for the returned intent record.
Cursor pagination
Pagination tokens represent a position in the ordered result set. Reuse the same filters, date range, page size, and sorting controls when requesting another page.
Use the after cursor
Use the before cursor
Do not modify or decode page tokens
Pass a returned cursor back exactly as received. An after or before value of null means that page is not available in that direction.
Important rules
Choose at least one intent filter
At least one of companyIds, keywordSetIds, or keywords must contain a value.
Use valid inclusive dates
Both dates are required in yyyy-MM-dd format, and startDate must be on or before endDate.
Limit the range to 12 months
A single query cannot cover a period longer than 12 months.
Keep arrays within their limits
Send no more than 10 company IDs, 10 keyword-set IDs, and 50 keywords.
Use a valid numeric range
Minimum and maximum values must be non-negative, and the minimum cannot exceed the maximum.
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. |
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 →