Algolia
Sync records to an Algolia index for real-time search, recommendations, and personalization. Zeotap pushes structured data from your warehouse directly into Algolia’s search infrastructure.
Prerequisites
- An Algolia account
- Your Application ID
- A Write or Admin API key with permissions to add, update, and delete records in the target index
Authentication
Algolia uses API Key authentication with an Application ID.
- In Algolia, navigate to Settings → API Keys in the dashboard
- Copy your Application ID from the top of the API Keys page
- Use an existing Write API key or create a new one with at least
addObject,deleteObject, andeditSettingsACLs - Enter your Application ID and API Key in Zeotap
Configuration
Algolia has no additional configuration fields beyond authentication. All settings are configured per-sync in Target Settings.
Target Settings
| Field | Type | Required | Description |
|---|---|---|---|
| Index Name | Text | Yes | The name of the Algolia index to write records to. Only alphanumeric characters, underscores, hyphens, and dots are allowed. The index is created automatically if it does not exist. Example: products_v2 |
Supported Operations
Sync Modes: Upsert, Insert, Update, Mirror
Audience Sync Modes: —
Features
- Field Mapping: Yes
- Schema Introspection: No
Field Mapping
| Destination Field | Type | Required | Description |
|---|---|---|---|
objectID | String | Yes | Unique identifier for each record in the Algolia index. Maps to Algolia’s objectID field. If not present in the row, Zeotap uses the sync’s primary key. |
All other mapped fields are passed through as record attributes in the Algolia index. You can map any columns from your warehouse model to create searchable, filterable, or displayable attributes.
How It Works
- Zeotap maps your warehouse data to Algolia records, ensuring each record has an
objectID - Records are uploaded using Algolia’s batch write API in chunks of up to 1,000 records per request
- Sync modes map to Algolia operations:
- Upsert and Insert use
addObject(creates or replaces records byobjectID) - Update uses
partialUpdateObjectNoCreate(partial update of existing records; does not create missing records) - Mirror adds new and changed records, and deletes removed records using
deleteObject
- Upsert and Insert use
- If the target index does not exist, Algolia creates it automatically on the first write
Rate Limits
Algolia enforces rate limits based on your plan. Zeotap processes batch requests sequentially and includes automatic retry logic with backoff for transient errors.
Troubleshooting
Authentication failed
Verify your Application ID and API key in the Algolia dashboard under Settings → API Keys. Ensure the API key has not been revoked or expired.
Insufficient permissions
Ensure the API key has the required ACLs: addObject, deleteObject, and editSettings. You can check and update ACLs in Settings → API Keys in the Algolia dashboard.
Records not updated
Update sync mode only modifies records that already exist in the index (it uses partialUpdateObjectNoCreate). If a row’s objectID does not match an existing record, that record is silently skipped. Use Upsert for the initial sync to populate the index, then switch to Update for subsequent partial updates.
Missing objectID
Every record requires an objectID. Ensure your field mapping includes the objectID field, or that the sync’s primary key is configured. Records without an identifiable objectID may cause errors.
Invalid index name
Index names can only contain alphanumeric characters, underscores (_), hyphens (-), and dots (.). Special characters and spaces are not allowed.