Official SDKs
Build in your application language
Use typed, resource-oriented clients instead of assembling URLs, headers, request bodies, and error handling yourself.
Choose an SDKOfficial developer tools
Use an official SDK to sync contacts, connect data sources, read analytics, and create embedded account experiences—without writing the HTTP plumbing yourself.
Choose your integration path
Use the interface that fits the job. Each path connects to the same EmailFunnelAI integration workflow.
Official SDKs
Use typed, resource-oriented clients instead of assembling URLs, headers, request bodies, and error handling yourself.
Choose an SDKMCP server
Connect Cursor, VS Code, or Claude Desktop so your assistant can create projects, fetch webhook specifications, and inspect forms.
Explore MCPREST API
Use the same integration surface without an SDK when your stack needs a custom transport, runtime, or request layer.
Review the API surfaceOfficial SDK library
Every client follows the same resource-oriented API while preserving the error handling, transport, and testing patterns of its language.
PHP
A dependency-free, fluent client built on ext-curl with typed API and transport exceptions.
View repositoryPHP
Framework-native configuration, auto-discovery, facade access, dependency injection, and HTTP testing support.
View repositoryTypeScript
A zero-dependency TypeScript client with ESM and CommonJS builds, typed errors, and built-in fetch.
npm install @emailfunnelai/sdk-node Python
A fully typed, standard-library client with resource-oriented methods and injectable HTTP transport.
View repositoryRust
An async client built on reqwest and tokio with rustls TLS, typed errors, and custom transport support.
View repositoryGo
An idiomatic service-based client built on net/http and encoding/json with no third-party dependencies.
View repositoryNode.js quickstart
Initialize the client with server-side environment variables, validate the connection, create a list, and sync your first contact.
import { EmailFunnelAi } from '@emailfunnelai/sdk-node';
const client = new EmailFunnelAi({
projectKey: process.env.EMAILFUNNELAI_PROJECT_KEY,
projectSecret: process.env.EMAILFUNNELAI_PROJECT_SECRET,
});
await client.validate();
const list = await client.lists().create('Newsletter signups');
await client
.contacts()
.sync({
email: 'jane@example.com',
first_name: 'Jane',
source_type: 'product',
})
.toList(list.id); One complete surface
Move subscriber data and operational context between your application and EmailFunnelAI through consistent resource methods.
Confirm a project key and secret before your application starts syncing data.
Create or update individual contacts, send real-time webhook events, or queue bulk syncs.
Create, browse, and retrieve the contact lists your integration sends data into.
Connect an external source, update its sync state, and report completion or errors.
Read, update, and reset field mappings between your application and EmailFunnelAI.
Inspect tagging rules and preview how incoming contact data will be classified.
Access dashboard, heatmap, funnel, campaign, and form analytics from application code.
Create signed login links and retrieve team-member context for connected experiences.
Designed for server-side integrations
Official clients centralize authentication, decode API responses, and expose structured errors so your application can respond cleanly.
Load keys from server-side environment variables or a secrets manager.
Handle validation, authentication, rate-limit, transport, and decoding errors explicitly.
Inject logging, proxies, timeouts, test doubles, or your framework’s native HTTP client.
Developer questions
EmailFunnelAI maintains official clients for PHP, Laravel, Node.js and TypeScript, Python, Rust, and Go.
They cover credential validation, contacts and bulk sync, lists, bindings, field mappings, auto-tagging, analytics, SSO, and typed API errors.
The Node.js and TypeScript client is published on npm. The other official SDK repositories are available on GitHub while their package-registry releases are finalized.
Use an SDK when your running application needs to call EmailFunnelAI. Use MCP when you want a supported coding assistant to help configure projects, credentials, webhook specifications, or form embeds.
Store the project key and project secret in server-side environment variables or a secrets manager. Never commit secrets or expose them in browser code.
Yes. The official repositories are public on GitHub and licensed under the MIT License.
Official open-source clients
Explore implementation details, examples, tests, and the complete resource surface in the EmailFunnelAI GitHub organization.
View all SDKs on GitHub