Prerequisites
- A Klaviyo account (Free or any paid plan)
- Account Owner or Admin access
Getting Your Credentials
Klaviyo uses a Private API Key for authentication.
- Log into Klaviyo
- Click your account name in the bottom-left corner
- Go to Settings > Account > API Keys
- Click Create Private API Key
- Name it (e.g.,
Landed sync)
- Grant Read-only access to all scopes
- Click Create
- Copy the key (starts with
pk_)
Required Scopes
Your private API key needs Read access to:
| Scope | Streams |
|---|
| Profiles | profiles |
| Events | events |
| Lists | lists |
| Metrics | metrics |
| Campaigns | campaigns |
| Flows | flows |
| Segments | segments |
| Templates | templates |
Configuration in Landed
| Field | Value |
|---|
| Private API Key | Your Klaviyo private key (starts with pk_) |
Available Streams
| Stream | Description | Sync Mode |
|---|
profiles | Contact profiles with email, phone, location, custom properties | Incremental |
events | Tracked events (opens, clicks, purchases, custom events) | Incremental |
lists | Subscriber lists | Full refresh |
metrics | Event metric definitions | Full refresh |
campaigns | Email and SMS campaigns with status and stats | Full refresh |
flows | Automated flow definitions | Full refresh |
segments | Dynamic segments | Full refresh |
templates | Email templates | Full refresh |
Common Issues
| Symptom | Cause | Fix |
|---|
403 Forbidden | API key lacks required scope | Create a new key with all Read scopes enabled |
401 Unauthorized | Invalid API key | Verify the key starts with pk_ and was copied correctly |
Rate limit exceeded | Too many API calls | Landed handles rate limiting automatically |
| Missing events | Events older than retention window | Klaviyo retains event data based on your plan tier |
Static IPs for Allowlisting
If your network configuration requires IP allowlisting:
- Production:
34.170.185.84, 35.192.90.94
- Staging:
34.171.93.34