Product News

Entity API: Real-time personalization in all your apps | Census

Sean Lynch
Sean Lynch March 15, 2023

Sean is co-founder and Chief Product Officer (CPO) at Census. He loves enabling data-driven organizations, so he's energized by introducing the world to Data Activation. San Francisco, California, United States

Today we’re excited to announce the Entity API – enabling instant access to your warehouse data in your website, app, or internal tool without additional engineering work.

With a single click, you can bring infinite personalization from your Customer 360 data model to any destination or context needed, on demand, and in milliseconds. ⚡️

Instead of custom-building personalization into your app, reuse the modeled data in your source of truth and fetch any and all customer data using the Entity API.

On-demand personalization for your apps, websites, or internal tools

Traditionally, Reverse ETL pushes data into services that accept and store data, for example a CRM or email marketing platform.

But there are many services that need more data, and don’t have the ability to store it. Or you might not want to store data for privacy or data governance reasons.

In this case, it’s more natural to pull the data needed. The Census Entity API opens up a whole new world of personalization use cases with fast, up-to-date, pull access to data. Now, all of your data is consistent across your SaaS tools, as well as destinations powered through the API.

It’s easier than ever to build personalized customer journeys and deliver cohesive experiences every time a customer interacts with your brand.

The Problem: Pulling data for real-time personalization requires complicated API architecture

Getting customer data for real-time personalization is complex

Historically, to enable real-time personalization, you had to tackle two core problems:

  1. Build a fully featured user profile
  2. Build a high performance API to serve it

Building a user profile is a hard data problem. To serve an API, it’s easy enough to start with a transactional database like Postgres or a NoSQL option, but this database will need access to a wide set of customer data points that will later need to be cleaned and resolved, which requires complex transforms not well suited for transactional DBs. Census users are deeply familiar with building these user profiles in the data warehouse with access to ELT and dbt but Analytical Data Warehouses are not optimized for this type of sub-second, individual record access).

Assuming the data is available, it also then needs to be served securely, with appropriate authentication, and fast with sub second latency to be used in realtime personalization use cases. For example, platforms like Webflow and Braze support personalizing content of a website or email based on the visitor. That personalization can access an API to look up details about a user such as what country they’re in or what products they should be recommended. Making your own first-party data available requires a lot of engineering to build that API.

Until now, engineers had to build custom APIs for personalization, in addition to:

  • Managing multiple databases
  • Worrying about API infrastructure (access, auth)
  • Maintaining the API as the data model changes and troubleshooting it if anything goes wrong

The Solution: Personalization made easy with the Census Entity API

Rapid access to all your customer data in the warehouse – with just one API

The Entity API simplifies pulling data for personalization use cases. Think of it as an API layer on top of your warehouse. Instead of communicating with 3+ API endpoints to bring real-time personalization to an app, just query the Entity API once.

At Census, our mission is to help data teams build a data platform that can power all aspects of their business. The Entity API builds on Entities, the semantic definition of the most important data of your business. You specify identifiers in Entities and that automatically indexes your data for fast access. Because Census already understands the structure of your customer data, we make it even more usable.

All of that work that data team does to clean, manage, and govern their data is the hard problem. Building and hosting the API is the easy part! Enter the Entity API which provides an a standard REST API for accessing your data, powered by dedicated infrastructure for serving your data fast and scalably.

Now with a single click, you can enable instant access to your data via authenticated REST API, with zero engineering required. ⚡️

For example, instantly show personalized offers on your website or app for individual customers

With the Entity API, you can pull Customer 360 data into any destination or context needed, on demand, and in milliseconds. This unlocks a wide set of additional uses for your data including:

  • On-Demand Personalization - When a user visits your site, call the Entity API to provide additional context about the user and customize a marketing website or show personalized in-app experiences. The Entity API can power different visual experiences by customer segment, specific user profiles like country, and even individually by user (for example, displaying the name of an account rep directly in-product).
  • App Platform - Build sidebars and micro apps such as browser extensions to view data inline. For example, products like Front and Stripe offer rich frameworks for building sidebar extensions. The Entity API provides a real-time way to pull customer context into extensions and other internal applications.
  • Enrichment - Leverage your first-party data for enrichment alongside third-party data sources. You can even use Enrichments to combine first party and third party data together into a single API call.

Ready to get started?

A single click turns on API access for all of your entities. Now you have REST API access.


const response = await fetch(
	http://app.getcensus.com/api/v1/entities/1/record?record_id=${id}, {
	headers: {
		Authorization: "Bearer secret-token:1234567890abcdefg"
	}
})
const data = await response.json()
console.log(data)  // Shows everything we know about that record

If you want to see what it looks like, you can use an API client like Postman or Insomnia to access the data.

Census Entity API.postman_collection.json

Now you can plug that into any service that can consume the API. It’s that easy!

Enable the Entity API with one click

The Entity API is available for customers on Census’s Platform Plan. For more information, check out the product docs.

What’s next?

The Entity API opens up your warehouse to a world of potential use cases. We’re very excited to see all the places you’ll take your data.

There’s lots of new API functionality on the roadmap including listing/paginating full data sets, accessing single records, and more control over which subsets of data are accessible via API.

As always, we're committed to making Census as user-friendly as possible, and we're constantly looking for ways to improve our product. If you have any feedback or suggestions, we'd love to hear from you. Just reach out to support@getcensus.com, and we'll be happy to chat.

👉 Schedule onboarding or try for free today!

Related articles

Customer Stories
Built With Census Embedded: Labelbox Becomes Data Warehouse-Native
Built With Census Embedded: Labelbox Becomes Data Warehouse-Native

Every business’s best source of truth is in their cloud data warehouse. If you’re a SaaS provider, your customer’s best data is in their cloud data warehouse, too.

Best Practices
Keeping Data Private with the Composable CDP
Keeping Data Private with the Composable CDP

One of the benefits of composing your Customer Data Platform on your data warehouse is enforcing and maintaining strong controls over how, where, and to whom your data is exposed.

Product News
Sync data 100x faster on Snowflake with Census Live Syncs
Sync data 100x faster on Snowflake with Census Live Syncs

For years, working with high-quality data in real time was an elusive goal for data teams. Two hurdles blocked real-time data activation on Snowflake from becoming a reality: Lack of low-latency data flows and transformation pipelines The compute cost of running queries at high frequency in order to provide real-time insights Today, we’re solving both of those challenges by partnering with Snowflake to support our real-time Live Syncs, which can be 100 times faster and 100 times cheaper to operate than traditional Reverse ETL. You can create a Live Sync using any Snowflake table (including Dynamic Tables) as a source, and sync data to over 200 business tools within seconds. We’re proud to offer the fastest Reverse ETL platform on the planet, and the only one capable of real-time activation with Snowflake. 👉 Luke Ambrosetti discusses Live Sync architecture in-depth on Snowflake’s Medium blog here. Real-Time Composable CDP with Snowflake Developed alongside Snowflake’s product team, we’re excited to enable the fastest-ever data activation on Snowflake. Today marks a massive paradigm shift in how quickly companies can leverage their first-party data to stay ahead of their competition. In the past, businesses had to implement their real-time use cases outside their Data Cloud by building a separate fast path, through hosted custom infrastructure and event buses, or piles of if-this-then-that no-code hacks — all with painful limitations such as lack of scalability, data silos, and low adaptability. Census Live Syncs were born to tear down the latency barrier that previously prevented companies from centralizing these integrations with all of their others. Census Live Syncs and Snowflake now combine to offer real-time CDP capabilities without having to abandon the Data Cloud. This Composable CDP approach transforms the Data Cloud infrastructure that companies already have into an engine that drives business growth and revenue, delivering huge cost savings and data-driven decisions without complex engineering. Together we’re enabling marketing and business teams to interact with customers at the moment of intent, deliver the most personalized recommendations, and update AI models with the freshest insights. Doing the Math: 100x Faster and 100x Cheaper There are two primary ways to use Census Live Syncs — through Snowflake Dynamic Tables, or directly through Snowflake Streams. Near real time: Dynamic Tables have a target lag of minimum 1 minute (as of March 2024). Real time: Live Syncs can operate off a Snowflake Stream directly to achieve true real-time activation in single-digit seconds. Using a real-world example, one of our customers was looking for real-time activation to personalize in-app content immediately. They replaced their previous hourly process with Census Live Syncs, achieving an end-to-end latency of <1 minute. They observed that Live Syncs are 144 times cheaper and 150 times faster than their previous Reverse ETL process. It’s rare to offer customers multiple orders of magnitude of improvement as part of a product release, but we did the math. Continuous Syncs (traditional Reverse ETL) Census Live Syncs Improvement Cost 24 hours = 24 Snowflake credits. 24 * $2 * 30 = $1440/month ⅙ of a credit per day. ⅙ * $2 * 30 = $10/month 144x Speed Transformation hourly job + 15 minutes for ETL = 75 minutes on average 30 seconds on average 150x Cost The previous method of lowest latency Reverse ETL, called Continuous Syncs, required a Snowflake compute platform to be live 24/7 in order to continuously detect changes. This was expensive and also wasteful for datasets that don’t change often. Assuming that one Snowflake credit is on average $2, traditional Reverse ETL costs 24 credits * $2 * 30 days = $1440 per month. Using Snowflake’s Streams to detect changes offers a huge saving in credits to detect changes, just 1/6th of a single credit in equivalent cost, lowering the cost to $10 per month. Speed Real-time activation also requires ETL and transformation workflows to be low latency. In this example, our customer needed real-time activation of an event that occurs 10 times per day. First, we reduced their ETL processing time to 1 second with our HTTP Request source. On the activation side, Live Syncs activate data with subsecond latency. 1 second HTTP Live Sync + 1 minute Dynamic Table refresh + 1 second Census Snowflake Live Sync = 1 minute end-to-end latency. This process can be even faster when using Live Syncs with a Snowflake Stream. For this customer, using Census Live Syncs on Snowflake was 144x cheaper and 150x faster than their previous Reverse ETL process How Live Syncs work It’s easy to set up a real-time workflow with Snowflake as a source in three steps: