How to send email using MailChimp API

I'm creating an app in nodejs to send an email using MailChimp. I've tried to use but changed it to use 3.0 api because 1.0 seems to no longer work (big surprise). I've setup my app with

var apiKey = '<<apiKey>>',
        toEmail = '<<emailAddress>>',
        toNames = '<<myName>>',
        message = {
            'html': 'Yo, this is the <b>html</b> portion',
            'text': 'Yo, this is the *text* portion',
            'subject': 'This is the subject',
            'from_name': 'Me!',
            'from_email': '',
            'to_email': toEmail,
            'to_name': toNames
        tags = ['HelloWorld'],
        params = {
            'apikey': apiKey,
            'message': message,
            'track_opens': true,
            'track_clicks': false,
            'tags': tags
        url = '';, params, function(err, headers) {
    if (err) {

I keep getting a 401 response (not authorized because I'm not sending the API key properly)

I have to use needle due to the constraints on the server.



There is no "SendEmail" endpoint in API v3.0. MailChimp's STS was a pre-cursor to its Mandrill transactional service and may only still work for user accounts that have existing STS campaigns. No new STS campaigns can be created. If you have a monthly, paid MailChimp account, you should look into Mandrill. If not, I've had good luck with Mailgun.


You should use HTTP Basic authentication in MailChimp API 3.0.

needle.get('https://<dc><endpoint>', { username: 'anystring', password: 'your_apikey' },
  function(err, resp) {
      // your code here...


@TooMuchPete is right, the SendMail endpoint is not valid in MailChimp API v3.0. I didn't notice that and I've edited my answer.


Recent Questions

Top Questions

Home Tags Terms of Service Privacy Policy DMCA Contact Us

©2020 All rights reserved.