Track API

About the Track API

Overview

Our Track API provides ways to send real-time customer data to your Customer.io workspace including customer identification and event tracking.

Use our Postman collection

We've generated a Postman collection to help you get started with our APIs.

If you fork this collection, you might want to disable the Watch original collection option. We automatically update our Postman collection whenever we release changes to our documentation, even if we don't change our APIs—which happens daily! Rather than being flooded with Postman notifications, you can check out our Release Notes for updates to our APIs.

NOTE: Postman endpoints default to our US APIs. If you're in our European (EU) region, you'll need to add -eu to the server variables (track_api_url and app_api_url).

Run In Postman

Server addresses: US and EU

Customer.io hosts services in the United States (US) and European Union. Select the appropriate server address for your region.

Region Server Address
US https://track.customer.io
EU https://track-eu.customer.io

Note that if your account is in the EU region and you send traffic to our US endpoints, we'll redirect it accordingly but this traffic still passes through US servers and data could be logged in the US.

Authentication

You can find all of your API authentication information in your Account Settings. Our Tracking API uses HTTP basic authorization. The App API uses bearer authorization, and you can generate tokens supporting different scopes. Each operation in this document references the authorization header it requires.

v1 vs v2 APIs

Most of the time, when we talk about The Track API, we're talking about the v1 API because the v2 API isn't used in any of our libraries and rarely used in libraries built by third parties; it's much more common that you'd encounter the v1 API.

If you're integrating with Customer.io using one of our libraries, or a third party customer data platform (CDP) like Segment or Rudderstack, you'll be using the v1 API.

The v2 API is newer and supports two important features that the v1 API doesn't natively support: objects and batching. But, if you're integrating directly with our API, we suggest you use the Pipelines API. The Pipelines API supports both objects, batching, and all of our newest integrations and libraries are based on it.

Rate Limits

The Track API has no fixed rate limit. Customer.io accepts your requests as fast as you send them and doesn't reject or drop them because of volume. Our general guideline is about 3000 requests per 3 seconds, an average of 1000 requests per second. The 3-second window leaves room for short bursts.

Traffic above this level usually comes from high-volume integrations, which our Premium and Enterprise plans support. If your traffic regularly goes above this, we may contact you to learn more about your integration and talk about optimizing it, or about a plan that better suits your volume.

This guideline is subject to change.

Below are the payload size limits for the Track API. If any of these limits are too restrictive for your needs, contact support to let us know your situation as we may be able to accommodate special circumstances.

Customer limits

These limits apply to people and their attributes, often referred to as "customers" in our APIs.

Data Type Limit Description
ID 150 bytes Max length of a person's ID value
Attribute Name 150 bytes Max length of each attribute name
Attribute Value 1000 bytes Max length of attribute values
Unique attributes 300 Max number of attributes allowed per person or Identify call

Object and relationship limits

Objects (groups) and relationships between people and objects can have their own attributes. Their limits are similar to people (customers).

Data Type Limit Description
Object ID 150 bytes Max length of a object's ID
Attribute Names 150 bytes Max length of each attribute name
Attribute Values 1000 bytes Max length of attribute values
Unique attributes 300 Max number of attributes allowed per object or relationship
Total attribute size 100 Kilobytes Max size of all attributes associated with an object or relationship

Track API Event limits

These limits apply to events that you'll send with the /v1/track call.

Data Type Limit Description
Event Name 100 bytes Max length of each event name
Event Data 100000 bytes Max length of each event data

v2 API Limits

The v2 API has two endpoints, both of which have limits on the total size of requests.

  • /entity is limited to requests 32kb or smaller.

  • /batch is limited to requests 500kb or smaller.

    Each of the requests within a batch must also be 32kb or smaller.