DatriseAI-first ETL

Source connector

EmailOctopus connector

EmailOctopus integration for databases, warehouses and BI tools

Lightweight email campaigns and list management. Datrise captures EmailOctopus entities such as contacts, lists, campaigns, email events, tags and automations, then lands normalized and typed models for warehouse reporting, attribution, and AI workflows.

The EmailOctopus API v2 authenticates with API key, incremental runs key on last_updated_at.gte / last_updated_at.lte, and EmailOctopus caps calls at Token bucket of 100 tokens refilling at 10 tokens/second — roughly 10 requests/second sustained or a 100-request burst, HTTP 429 once exhausted.

Of the 6 objects, 5 sync as upserts keyed on the primary key and 1 as append-only streams, so each incremental run moves only what changed since the last watermark. Every object lands in its own table (for example `emailoctopus_contacts`) with a schema derived from the EmailOctopus API rather than a flattened CSV, in any of the 43 supported destinations.

Datrise is in early access: pick a destination below to open the EmailOctopus pipeline page, and join the waitlist to get the EmailOctopus connector with guided onboarding.

Incremental syncSchema-aware mapping43 destinations available

What EmailOctopus data Datrise extracts

Each object lands in its own typed table. Sync mode is derived from the object: history-style objects append, everything else upserts.

ObjectLanding tableSync mode
contactsemailoctopus_contactsUpsert by primary key, incremental on updated-at
listsemailoctopus_listsUpsert by primary key, incremental on updated-at
campaignsemailoctopus_campaignsUpsert by primary key, incremental on updated-at
email eventsemailoctopus_email_eventsAppend-only, incremental by timestamp
tagsemailoctopus_tagsUpsert by primary key, incremental on updated-at
automationsemailoctopus_automationsUpsert by primary key, incremental on updated-at

EmailOctopus API: setup facts for the connector

Verified against the vendor documentation on 2026-09-21. Unknown values are left blank rather than guessed.

APIEmailOctopus API v2
AuthenticationAPI key — A static API key generated in account settings is sent as `Authorization: Bearer {token}`; keys created before the v2 release (labelled 'legacy') must be regenerated before they work against v2 endpoints.
Paginationcursor — `limit` (default and max 100) plus a `starting_after` cursor taken verbatim from the previous response's `paging.next.starting_after` — the docs warn against deconstructing or relying on data inside the cursor string, since its format is subject to change.
Rate limitToken bucket of 100 tokens refilling at 10 tokens/second — roughly 10 requests/second sustained or a 100-request burst, HTTP 429 once exhausted
Incremental cursorlast_updated_at.gte / last_updated_at.lte — `GET /lists/{list_id}/contacts` accepts `created_at.gte`/`.lte` and `last_updated_at.gte`/`.lte` query filters in ISO 8601 format for incremental pulls.
WebhooksYes — Webhooks (contact.created / contact.updated / contact.deleted / campaign engagement events)
Bulk exportYes — Batch contact upsert — `PUT /lists/{list_id}/contacts/batch`
Deletes detectableYes — `contact.deleted` webhook event; the REST API itself has no deleted-records or tombstone endpoint, so a poll-only integration cannot see deletions without subscribing to webhooks.

Official API reference

What bites when replicating EmailOctopus

  • GET /lists/{list_id}/contacts defaults to `status=subscribed` when the `status` parameter is omitted, silently excluding `pending`, `unsubscribed`, `bounced` and `complained` contacts from a naive full sync.
  • The batch upsert endpoint (`PUT /lists/{list_id}/contacts/batch`) accepts 1 to 100 contacts per call — there is no larger bulk-import endpoint in the API.
  • Webhook deliveries are buffered for up to a minute (or flushed immediately once 1,000 events accumulate in a single payload) and are capped at 2 endpoints per team; a failing endpoint is retried up to 9 times over roughly 10 days before events are dropped.
  • API keys created before the v2 release ('legacy' keys) are rejected by v2 endpoints and must be regenerated in account settings.

Compare this against every other documented API

Popular destinations for EmailOctopus

Choose a destination below to open the ready pipeline page.

  • A
    Airtable

    Relational spreadsheet destination for ops and go-to-market teams.

    View pipeline
  • A
    Amazon Athena

    Serverless SQL over S3 data lake tables.

    View pipeline
  • A
    Amazon DynamoDB

    Serverless key-value and document store on AWS.

    View pipeline
  • A
    Amazon QuickSight

    AWS serverless BI with SPICE and embedded analytics.

    View pipeline
  • A
    Amazon Redshift

    AWS petabyte-scale warehouse with Spectrum.

    View pipeline
  • A
    Amazon S3 Data Lake

    Object storage landing zone for parquet and snapshots.

    View pipeline
  • A
    Apache Superset

    Open-source BI for SQL exploration, charts, and dashboard publishing.

    View pipeline
  • A
    Azure Data Lake Storage

    ADLS Gen2 object storage for analytics workloads.

    View pipeline
  • A
    Azure Synapse

    Microsoft analytics workspace with SQL pools.

    View pipeline

EmailOctopus connector FAQ

What EmailOctopus data does the connector extract?
6 objects: contacts, lists, campaigns, email events, tags and automations. Each lands in its own table with types preserved; history-style objects (1: email events) load as append-only streams.
Is the EmailOctopus integration incremental?
Yes. After the initial full load, every run reads only records changed since the last watermark (updated-at or event timestamp) and applies an upsert or an append depending on the object.
Where can I load EmailOctopus data?
Into 43 destinations: relational databases, cloud warehouses, data lakes, spreadsheets and BI tools. Each EmailOctopus → destination pair has its own page with the object-to-table mapping.

Related sources

Other sources in the same category, each with its own connector page.

Early access

Launch your EmailOctopus pipeline with guided onboarding

Join the waitlist to get priority access for EmailOctopus integrations with guided setup, schema-aware mapping, and production-grade incremental sync.