Actor picture

Send Email


The actor automatically sends an email to a specific address. This actor is useful for notifications and reporting. With only 3 lines of javascript code, you'll be on top of your scraping actors and never miss important results or issues.

No credit card required

Author's avatarApify
  • Modified
  • Users1,578
  • Runs633,333

Apify actor to send mail.

This actor is meant to be used as a reporting tool and must not be used to send promotional or spammy emails. Using it as such will lead to the user being banned on the Apify platform.



    // Email address of the recipient(s) (e.g. "Apify <>")
    // Required
    to: String,
    // Email CC same format as to
    // Required
    cc: String
    // Email BCC same format as to
    bcc: String
    // Email subject
    // Required
    subject: String,
    // Text body of Email
    // Required
    text: String,
    // Email attachments
    attachments: [Object]


  • to - Email address of the recipient(s), you can comma-separate multiple addresses (e.g. "Apify" or ",")
  • cc - Email CC same format as to
  • bcc - Email BCC same format as to
  • subject - Email subject
  • text - Text body of Email
  • html - HTML body of Email
  • replyTo - Email address which will be set when recipient will try to reply to mail. (Uses header Reply-To see doc)
  • attachments - array of attachments in base64 string, example:
    // attachment file name
    filename: String,
    // attachment content in base64 string
    data: String


To prevent abuse, the actor limits the number of email recipients:

  • Users on the free plan can only send emails to their own email address associated with their Apify account.
  • Paying users can send emails to up to 20 different recipients.


From other Apify actor

await'apify/send-mail', {
    to: '',
    subject: 'Test from act',
    text: "Email text",
    attachments: [{
        filename: 'test.txt',
        data: 'dGVzdCBzZmFzZGFzZGFzZGFzZA'

From Apify actor/task webhook

Calling this actor via a webhook is very handy because you can ensure it is sent only after specific event happens. Here is an example setup to send email after failed run.

  1. Open Webhooks tab of the actor/task that you want to monitor.
  2. Set Event types to Run failed and Run timed out.
  3. URL is the RUN API endpoint of this actor, just fill your API token -
  4. Payload template represents the body that is sent to this actor:

Example of payload that sends run ID in the email text:

    "to": "",
    "subject": "Task Scrape-website run failed",
    "text": {{eventData.actorRunId}}


See how Send Email is used in industries around the world