Search API provides access to Base’s read layer. It exposes two ways for accessing data:
- JSON search API with rich and powerful Query language
- GraphQL API for querying company information alongside with Company Hierarchy data
Query language capabilities
- Projections - only fetch requested fields of Base data entities to minimise latency and bandwidth use
- Filtering - specify precise conditions fetched data items must meet
- Sorting and pagination - order data in response by arbitrary number of attributes, only fetch required part of data set
- Aggregations - perform analysis on filtered result set
Above operations allow implementing complex custom logic and analytics over data stored in Base. Example use cases might be:
Data quality checks
Filter and aggregate your data for completeness, e.g. find all leads without phone numbers, and aggregate them to calculate number of incomplete leads added per sales team. Find all deals without value added within specified time period.
Query all contacts with email address in specified domain. Find deals estimated to be closed this quarter, with value greater than $10,000 and group them into buckets per sales rep.
Calculate total and average value of deals closed in this year by every team. Find in which month most deals enter your pipeline and what their total value is.
GraphQL API allows to query companies by IDs, display their attributes and query relationships within company hierarchy.
How to start
See Quick Overview section for instructions on how to send requests for basic functionalities. Query language contains description of requests, payloads and responses, outlining all capabilities of search API.