We all started somewhere! Share your experience on the Get Advice: Let's Get Started Sweepstakes thread and be entered to win a $100 credit on your Constant Contact account.

Sending e-mails through API


Sending e-mails through API


So far I have managed to do following:


I have managed to create contact through API on constantcontact.

I have managed to create contact lists through API on constantcontact and to upload contacts into the




I have managed to create a campaign through API with an appropriate contact list to which the email template from the campaign should be sent.

But there are some things that can not be done through API ... And also some that cold not be done even through the website...

So the process that should follow is unfortunately not possible to automate...

First, when i created a campaign, i tried to create a campaign with an attachment, such as pdf and i found this:


and this:


Ok, so the only way was to send a link to an attachment... we can live with it i guess... so i went on to the next step...

Next step was to actually send an e-mail from the campaign to contacts from the selected contact list(s) from the campaign...

All e-mail campaigns that are created through API are always created in the "Draft" status, there is no possibility to create "Scheduled" campaign, and to set NextRunDate parameter for the campaign, which i found in the xml request format:


as you can see, no NextRunDate parameter even tho you can see it from campaign details when retrieving data about created campaigns if they were scheduled in the meanwhile where you have xml tag <NextRunDate>...

Then i tried testing... different status... i changed all of them (Draft, Running, Scheduled,  Archive Pending, Archived, Close Pending, Closed, Sent)... adding <NextRunDate> tag... nothing... always created as "Draft"...

So i went to search the forums, and i found the answer:



So, the only way to really send an e-mail to the addresses from the list is: to log on to constantcontact website, click the campaign, go to schedule, and schedule sending for some date/time in the future, or to "Send now"...

It is not possible to send e-mail through API.

Ok, we can live with this too, I can create campaigns for every location, I can create campaign for every event such as prize or something like that, then i can go and schedule a campaign from the website and schedule it to be sent every day

in an exact time, and in the meanwhile, i can edit campaigns every day, adding new template to an email body which can be done through API, and every morning when the campaign is scheduled, i have different new e-mail content, problem solved...

But there is a but....




Everything i can do is to create autoresponder campaign which can be sent to new added contacts to the list, nothing else... for everything else, i have to create a new draft campaign with the content for that day, or event or whatever, i can do whatever i want more less

 with the contacts, with the lists, with the campaigns i can do pretty much, i can change their content, i can change the name, subjects and many many more details,but i cant actually send it. Does  that means, every morning someone should go to website, and click every single campaign and go to schedule, and click send now?

Or is there any way to automate the whole process? Is it anything i can do so I actually can use the services of constantcontact without having someone to logon constantcontact and sending e-mails manualy?


All emails created through the API are set to Draft status. At this time we do not offer the ability to change this through the API therefor you cannot schedule or send an email outside of our website user interface. This means that you will have to have a person login and schedule the newly created emails each morning.


I will pass your feedback on to our Product Strategy team. If we do open our Scheduling API to the public we will send that information out in our Developer Newsletter and put the documentation up on this website.

Dan H

Support Engineer, Constant Contact

Regular Participant


Is it possible for me to schedule the Campaign manually and set the sending time.

Then update the Campaign, add the email addresses to list through API so that the email go through at the scheduled time?

 My question is :

Is it possible to do like that?

If I add new emails, would it include in the email scheduled to send?



-Lin Tun


Hello Lin Tun,


You can login to your account and schedule an email for delivery to a specific contact list. This is something that needs to be done by logging into the account, as we do not offer the ability to schedule emails through the API at this time.


Once the email is scheduled, you can add contacts to this list while the email is scheduled, and those new contacts will also recieve the email. The only exception to this would be if the email was already in the 'Running' state, this would prevent those contacts from recieving the email. Every other contact added to the list before the email is in the 'Running' state will recieve the email as expected.

David J

Regular Participant

Hi David,

Thanks for the reply.

I have a requirement as below, could you please suggest me how I should integrate with CC's API.

(1) We have a signup form, where user will enter email, first name, last name, dob, etc.

(2) Once user signup, we need to send email with random generated key for account activation.  That mean, in the email, we will have a welcome message and account activation url which will be unique to each and every user.

(3) User required to click our activation url. 

Please let me know if it is feature to integrate with Constant Contact.


Best Regards,

Lin Tun

-Lin Tun

Developer Portal

View API documentation, code samples, get your API key.

Visit Page