From inbox to API in minutes

Everything you need to integrate Etho and start extracting structured life data from your users' emails.

Getting Started

1

Get your API key

Sign up for Etho and generate your API key from the dashboard. You'll need this for all API requests.

Authorization: Bearer etho_sk_live_...
X-Tenant-ID: your-tenant-id
2

Embed the Connect UI

Add our hosted Connect Inbox UI to let users authorize their email. We handle OAuth and IMAP complexity.

<script src="https://cdn.etho.so/connect.js"></script>
<button onclick="Etho.connect({ tenant: 'your-tenant' })">
  Connect Email
</button>
3

Fetch structured data

Once connected, query our API to get structured data. All 10 object types follow the same pattern.

curl https://api.etho.so/v1/purchases \
  -H "Authorization: Bearer etho_sk_live_..." \
  -H "X-Connection-ID: conn_abc123"
4

Set up webhooks

Subscribe to real-time events to get notified when new data is extracted or connections change.

{
  "event": "extraction.completed",
  "data": {
    "connection_id": "conn_abc123",
    "object_type": "purchase",
    "count": 3
  }
}

API Reference

Connection API

Manage user inbox connections

POST/v1/connect
GET/v1/connections
GET/v1/connections/:id
DELETE/v1/connections/:id
GET/v1/connections/:id/status

Extraction API

Retrieve structured life data

GET/v1/purchases
GET/v1/purchases/:id
GET/v1/trips
GET/v1/subscriptions
GET/v1/bills
GET/v1/orders
GET/v1/events
GET/v1/meal-orders
GET/v1/bookings
GET/v1/newsletters
GET/v1/birthdays

Webhook Events

Real-time notifications

EVENTextraction.completed
EVENTconnection.created
EVENTconnection.synced
EVENTconnection.error
EVENTdata.deleted

SDKs & Libraries

Official client libraries for your favorite languages

Node.js

npm install @etho/sdk

Python

npm install @etho/sdk

Ruby

npm install @etho/sdk

Go

npm install @etho/sdk