Skip to content

App Partner

Become an ActiveCampaign App Partner

Help over 120,000 businesses around the world deliver unique customer experiences by developing an app with ActiveCampaign.

Get started developing with ActiveCampaign in minutes

                        # Retrieve a contact

require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://youraccountname.api-us1.com/api/3/contacts/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
                        # Retrieve a contact

require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://youraccountname.api-us1.com/api/3/contacts/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
                    
                        // Retrieve a contact

var request = require("request");

var options = {
   method: 'GET',
   url: 'https://youraccountname.api-us1.com/api/3/contacts/id'
};

request(options, function (error, response, body) {
   if (error) throw new Error(error);
   console.log(body);
});
                        // Retrieve a contact

var request = require("request");

var options = {
   method: 'GET',
   url: 'https://youraccountname.api-us1.com/api/3/contacts/id'
};

request(options, function (error, response, body) {
   if (error) throw new Error(error);
   console.log(body);
});
                    
                        # Retrieve a contact

import requests

url = "https://youraccountname.api-us1.com/api/3/contacts/id"

response = requests.request("GET", url)

print(response.text)
                        # Retrieve a contact

import requests

url = "https://youraccountname.api-us1.com/api/3/contacts/id"

response = requests.request("GET", url)

print(response.text)
                    
                        // Retrieve a contact

var data = null;

var xhr = new XMLHttpRequest();

xhr.addEventListener("readystatechange", function () {
   if (this.readyState === this.DONE) {
     console.log(this.responseText);
   }
});

xhr.open("GET", "https://youraccountname.api-us1.com/api/3/contacts/id");

xhr.send(data);
                        // Retrieve a contact

var data = null;

var xhr = new XMLHttpRequest();

xhr.addEventListener("readystatechange", function () {
   if (this.readyState === this.DONE) {
     console.log(this.responseText);
   }
});

xhr.open("GET", "https://youraccountname.api-us1.com/api/3/contacts/id");

xhr.send(data);
                    
                        # Retrieve a contact

curl --request GET \
--url 'https://youraccountname.api-us1.com/api/3/contacts/id'
                        # Retrieve a contact

curl --request GET \
--url 'https://youraccountname.api-us1.com/api/3/contacts/id'
                    
                        # Retrieve an account

require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://youraccountname.api-us1.com/api/3/accounts/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
                        # Retrieve an account

require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://youraccountname.api-us1.com/api/3/accounts/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
                    
                        // Retrieve an account

var request = require("request");

var options = {
   method: 'GET',
   url: 'https://youraccountname.api-us1.com/api/3/accounts/id'
};

request(options, function (error, response, body) {
   if (error) throw new Error(error);
   console.log(body);
});
                        // Retrieve an account

var request = require("request");

var options = {
   method: 'GET',
   url: 'https://youraccountname.api-us1.com/api/3/accounts/id'
};

request(options, function (error, response, body) {
   if (error) throw new Error(error);
   console.log(body);
});
                    
                        # Retrieve an account

import requests

url = "https://youraccountname.api-us1.com/api/3/accounts/id"

response = requests.request("GET", url)

print(response.text)
                        # Retrieve an account

import requests

url = "https://youraccountname.api-us1.com/api/3/accounts/id"

response = requests.request("GET", url)

print(response.text)
                    
                        // Retrieve an account

var data = null;

var xhr = new XMLHttpRequest();

xhr.addEventListener("readystatechange", function () {
   if (this.readyState === this.DONE) {
     console.log(this.responseText);
   }
});

xhr.open("GET", "https://youraccountname.api-us1.com/api/3/accounts/id");

xhr.send(data);
                        // Retrieve an account

var data = null;

var xhr = new XMLHttpRequest();

xhr.addEventListener("readystatechange", function () {
   if (this.readyState === this.DONE) {
     console.log(this.responseText);
   }
});

xhr.open("GET", "https://youraccountname.api-us1.com/api/3/accounts/id");

xhr.send(data);
                    
                        # Retrieve an account

curl --request GET \
--url 'https://youraccountname.api-us1.com/api/3/accounts/id'
                        # Retrieve an account

curl --request GET \
--url 'https://youraccountname.api-us1.com/api/3/accounts/id'
                    
                        # Retrieve a deal

require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://youraccountname.api-us1.com/api/3/deals/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
                        # Retrieve a deal

require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://youraccountname.api-us1.com/api/3/deals/id")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
                    
                        // Retrieve a deal

var request = require("request");

var options = {
   method: 'GET',
   url: 'https://youraccountname.api-us1.com/api/3/deals/id'
};

request(options, function (error, response, body) {
   if (error) throw new Error(error);
   console.log(body);
});
                        // Retrieve a deal

var request = require("request");

var options = {
   method: 'GET',
   url: 'https://youraccountname.api-us1.com/api/3/deals/id'
};

request(options, function (error, response, body) {
   if (error) throw new Error(error);
   console.log(body);
});
                    
                        # Retrieve a deal

import requests

url = "https://youraccountname.api-us1.com/api/3/deals/id"

response = requests.request("GET", url)

print(response.text)
                        # Retrieve a deal

import requests

url = "https://youraccountname.api-us1.com/api/3/deals/id"

response = requests.request("GET", url)

print(response.text)
                    
                        // Retrieve a deal

var data = null;

var xhr = new XMLHttpRequest();

xhr.addEventListener("readystatechange", function () {
   if (this.readyState === this.DONE) {
     console.log(this.responseText);
   }
});

xhr.open("GET", "https://youraccountname.api-us1.com/api/3/deals/id");

xhr.send(data);
                        // Retrieve a deal

var data = null;

var xhr = new XMLHttpRequest();

xhr.addEventListener("readystatechange", function () {
   if (this.readyState === this.DONE) {
     console.log(this.responseText);
   }
});

xhr.open("GET", "https://youraccountname.api-us1.com/api/3/deals/id");

xhr.send(data);
                    
                        # Retrieve a deal

curl --request GET \
--url 'https://youraccountname.api-us1.com/api/3/deals/id'
                        # Retrieve a deal

curl --request GET \
--url 'https://youraccountname.api-us1.com/api/3/deals/id'
                    
                        # Retrieve a campaign

require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://youraccountname.api-us1.com/api/3/campaigns?orders%5Bsdate%5D=ASC")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
                        # Retrieve a campaign

require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://youraccountname.api-us1.com/api/3/campaigns?orders%5Bsdate%5D=ASC")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
                    
                        // Retrieve a campaign

var request = require("request");

var options = {
   method: 'GET',
   url: 'https://youraccountname.api-us1.com/api/3/campaigns',
   qs: {'orders[sdate]': 'ASC'}
};

request(options, function (error, response, body) {
   if (error) throw new Error(error);
   console.log(body);
});
                        // Retrieve a campaign

var request = require("request");

var options = {
   method: 'GET',
   url: 'https://youraccountname.api-us1.com/api/3/campaigns',
   qs: {'orders[sdate]': 'ASC'}
};

request(options, function (error, response, body) {
   if (error) throw new Error(error);
   console.log(body);
});
                    
                        # Retrieve a campaign

import requests

url = "https://youraccountname.api-us1.com/api/3/campaigns"

querystring = {"orders[sdate]":"ASC"}

response = requests.request("GET", url, params=querystring)

print(response.text)
                        # Retrieve a campaign

import requests

url = "https://youraccountname.api-us1.com/api/3/campaigns"

querystring = {"orders[sdate]":"ASC"}

response = requests.request("GET", url, params=querystring)

print(response.text)
                    
                        // Retrieve a campaign
var data = null;

var xhr = new XMLHttpRequest();

xhr.addEventListener("readystatechange", function () {
   if (this.readyState === this.DONE) {
     console.log(this.responseText);
   }
});

xhr.open("GET", "https://youraccountname.api-us1.com/api/3/campaigns?orders%5Bsdate%5D=ASC");

xhr.send(data);
                        // Retrieve a campaign
var data = null;

var xhr = new XMLHttpRequest();

xhr.addEventListener("readystatechange", function () {
   if (this.readyState === this.DONE) {
     console.log(this.responseText);
   }
});

xhr.open("GET", "https://youraccountname.api-us1.com/api/3/campaigns?orders%5Bsdate%5D=ASC");

xhr.send(data);
                    
                        # Retrieve a campaign

curl --request GET \
--url 'https://youraccountname.api-us1.com/api/3/campaigns?orders%5Bsdate%5D=ASC'
                        # Retrieve a campaign

curl --request GET \
--url 'https://youraccountname.api-us1.com/api/3/campaigns?orders%5Bsdate%5D=ASC'
                    
                        # Retrieve an automation

require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://youraccountname.api-us1.com/api/3/automations")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
                        # Retrieve an automation

require 'uri'
require 'net/http'
require 'openssl'

url = URI("https://youraccountname.api-us1.com/api/3/automations")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
                    
                        // Retrieve an automation

var request = require("request");

var options = {
   method: 'GET',
   url: 'https://youraccountname.api-us1.com/api/3/automations'
};

request(options, function (error, response, body) {
   if (error) throw new Error(error);
   console.log(body);
});
                        // Retrieve an automation

var request = require("request");

var options = {
   method: 'GET',
   url: 'https://youraccountname.api-us1.com/api/3/automations'
};

request(options, function (error, response, body) {
   if (error) throw new Error(error);
   console.log(body);
});
                    
                        # Retrieve an automation

import requests

url = "https://youraccountname.api-us1.com/api/3/automations"

response = requests.request("GET", url)

print(response.text)
                        # Retrieve an automation

import requests

url = "https://youraccountname.api-us1.com/api/3/automations"

response = requests.request("GET", url)

print(response.text)
                    
                        // Retrieve an automation

var data = null;

var xhr = new XMLHttpRequest();

xhr.addEventListener("readystatechange", function () {
   if (this.readyState === this.DONE) {
     console.log(this.responseText);
   }
});

xhr.open("GET", "https://youraccountname.api-us1.com/api/3/automations");

xhr.send(data);
                        // Retrieve an automation

var data = null;

var xhr = new XMLHttpRequest();

xhr.addEventListener("readystatechange", function () {
   if (this.readyState === this.DONE) {
     console.log(this.responseText);
   }
});

xhr.open("GET", "https://youraccountname.api-us1.com/api/3/automations");

xhr.send(data);
                    
                        # Retrieve an automation

curl --request GET \
--url 'https://youraccountname.api-us1.com/api/3/automations'
                        # Retrieve an automation

curl --request GET \
--url 'https://youraccountname.api-us1.com/api/3/automations'
                    
Copied!
Get the full API documentation

App Studio

See what’s possible with the new ActiveCampaign App Studio

App Marketplace

Reach 120,000+ potential customers

Share your app with 120K+ customers in an App Marketplace full of hundreds of integrations for all types of businesses.

Explore the App Marketplace Already have an app? Get it listed

WHY DEVELOPERS CHOOSE ACTIVECAMPAIGN

Hear what other developers are saying about partnering with ActiveCampaign

"Partnering with ActiveCampaign has added great value to our 8M+ customers. We’ve noticed a significant increase in paid users who have integrated JotForm directly with ActiveCampaign. Their team was helpful during the entire process of building the integration and they have been a great partner to work with."

Briana Strauss, Partner Marketing Manager, JotForm

“We chose to include the Deep Data API Integration to pass in donation order data and we use the native app integration to update close to 20 custom fields - data that automations can take action on. [This allows] organizations to manage the customer journey of their donors from a casual donor to a fully engaged patron.”

Stephen Lynch, Donate2

"Integrating with ActiveCampaign has had a positive impact on our business and our mutual customers absolutely love the functionality it provides them! Implementation was straightforward and the team supported us every step of the way. We will continue to build more with ActiveCampaign in the future."

Aaron VandenBrink, Product Manager, Thinkific

Building a Bonjoro automation action was easily 5-10 times faster than if we were doing our own implementation from scratch. The ActiveCampaign team was attentive in helping us through the entire build. With this integration, joint users can record personal videos after things like a purchase or opt-in!

Cliff Dacion, Full Stack Engineer, Bonjoro

70% of ActiveCampaign’s 120,000+ customers use an integration. It could be yours.

0

customers world wide

A global footprint

ActiveCampaign has a global network of 120K+ customers in over 170 countries

0

use an integration

Highly engaged customers

The vast majority of our customers are utilizing integrations to customize the platform in a way that makes sense for their business

Highest Rated

in Marketing Automation

An industry leader

Our category-defining Customer Experience Automation platform is one of the top 50 Marketing Products according to G2

Start building with ActiveCampaign today

Become an App Partner and start creating unique customer experiences