FAQ



How do I search for contacts?

Use the Contact Search endpoint:

POST /contacts

Common fields you can include in the request body:

  • firstName, lastName
  • email
  • contactCity, contactState, contactCountry
  • titles, jobLevels, jobFunctions
  • companyName, companyCity, companyState, companyCountry
  • phoneRequired, emailRequired
  • Pagination (page, perPage)

By default, page=1 and perPage=10. You can retrieve up to 50 results per page.


How do I search for companies?

Use the Company Search endpoint:

POST /companies

In the request body, you can specify:

  • name, website, ticker
  • city, state, country, regions
  • businessTypes, companyType, companyStatus
  • industries, subIndustries
  • minEmployees, maxEmployees
  • minRevenue, maxRevenue
  • fiscalYearEnd, fortuneRanking
  • naics, sicCodes
  • sortBy, sortOrder
  • Pagination (page, perPage)

As with contact searches, perPage has a maximum of 50.


How do I fetch a specific person or contact?

Contact Fetch (GET /contact/{contactId}):
Returns details about a contact record, including the person’s details plus employment-specific information such as start date, salary, description, etc.

In both cases, the ID in the path must be an integer. If invalid, you’ll receive a 400 error indicating “PersonId must be an integer” or “ContactId must be an integer.”


How do I fetch a specific company?

Use:

GET /company/{companyId}

By default, this returns basic company details (name, type, address, revenue, employee count, etc.). You can retrieve extra data using query parameters:

  • fields=familytree
  • fields=competitors
  • fields=logos
  • fields=installedtech

You can pass any combination of these comma-separated to see additional details in the response. (fields=familyTree,logos,competitors)


What is the difference between `/company/{companyId}/news` and `/company/{companyId}/newsFeed`?

  • /news: Fetches news articles for a specific set of categories. You must supply a newsCategories query parameter (e.g., LEADERSHIP_CHANGES or ACQUISITIONS).
  • /newsFeed: Fetches news articles for a company without needing a category parameter, returning a broader feed.

Both support pagination with page and perPage.


What is the maximum `perPage` (page size)?

The API limits perPage to a maximum of 50. If you provide a larger number, you’ll get a 400 error indicating:

errorCode: 400-101
errorMessage: perPage must be between 1 and 50.

How do I retrieve a company logo?

Use:

GET /company/{companyId}/logos/{logoSize}
  • logoSize can be 100, 200, or 400.
  • A 400-108 error is returned if you supply an invalid size (anything other than 100, 200, or 400).
  • A 400-109 error means no logo is available for the specified company.

How are errors formatted, and how do I troubleshoot them?

Every endpoint can return errors in JSON or XML. The response typically includes:

  • errorCode
  • errorMessage
  • diagnosticCode

For example, a 400 error might look like this in JSON:

{
  "errorCode": "400-103",
  "errorMessage": "companyId must be an integer.",
  "diagnosticCode": "ccb84f25-236e-4bcf-be01-88b7dd673fb4"
}

Use errorCode and errorMessage to diagnose what went wrong (e.g., invalid parameters, missing required fields, etc.). The diagnosticCode is for internal reference if you need to contact Support.


Do I need to provide at least one parameter to perform a search?

Yes. The search endpoints require at least one filter parameter to avoid returning huge result sets:

  • Contact Search: If you submit an empty request body, you may get an error (e.g., 400-107, “At least one parameter must be provided.”)
  • Company Search: If you submit an empty request body, you may get an error (e.g., 400-102, “At least one parameter must be provided for company search.”)

How do I sort search results?

When searching for contacts or companies, you can include sortBy and sortOrder in your request:

  • Contact Search

    • Valid sortBy: active, title, companyName.
    • Valid sortOrder: asc or desc.
  • Company Search

    • Valid sortBy: employeeCount, businessType, companyRevenue, or location.
    • Valid sortOrder: asc or desc.

If you use an invalid sort field or order, you’ll get an error such as:

errorCode: 400-108
errorMessage: Sorting is allowed only on active, title and companyName.

or

errorCode: 400-135
errorMessage: Sorting is allowed only on employeeCount, businessType, companyRevenue and location

How can I see the technologies (installed tech) a company uses?

You can use:

GET /company/{companyId}?fields=installedtech

The response under the techUsed field provides a list of technology categories, subcategories, and specific product names in use by that company.


Where can I get more help or report issues?

If you have questions, need additional guidance, or believe you’ve encountered a bug:

Be prepared to provide your diagnostic codes (from the error responses) and example requests/responses if applicable.


We hope this FAQ helps you get started! For more details, please see the rest of this API documentation or reach out to Demandbase Support.


Did this page help you?