Get Reliable Email Delivery at 50% Less

Helping 20,000+ brands to Inbox 7 billion emails every month

Stop Overpaying for Inboxing

A quick comparison between Pepipost and the rest

Emails per month Pepipost Sendgrid Mailgun Sparkpost Max Annual Saving
150,000 $25 $67 $109 $49 $1,008
300,000 $65 $180 $190 $124 $1,500
500,000 $145 $300 $325 $249 $2,160
1,000,000 $245 $535 $515 $474 $3,479
2,000,000 $445 $925 $915 $974 $6,348
Over 2,000,000 Contact us to learn about our high-volume plans.
Trusted By
0
Smart Developers Of Big & Small Businesses
33

What Our Clients Say

Traveloka rates Pepipost 10 out of 10! Listen to our client, Wayan Tresna Perdana, talk about how Pepipost benefits Traveloka.

33

What Our Clients Say

Traveloka rates Pepipost 10 out of 10! Listen to our client, Wayan Tresna Perdana, talk about how Pepipost benefits Traveloka.

What Our Clients Say

Arcamax

The Pepipost team is terrific; we have excellent communication. They are really smart and extremely adept at helping with configurations. We view them as an important ally.

Scott Wolf, CEO, Arcamax Publishing

For Developers… By Developers

Fast, easy integrations.

Start Sending in 100 Seconds or Less with SMTP Relay, APIs or Plugins

C#

var client = new RestClient("https://api.pepipost.com/v2/sendEmail");
var request = new RestRequest(Method.POST);
request.AddHeader("api_key", "");
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\"personalizations\":[{\"recipient\":\"user@example.com\"}],\"from\":{\"fromEmail\":\"sales@yourdomain.com\",\"fromName\":\"MyCompany\"},\"subject\":\"Test email from Pepipost\",\"content\":\"Hi, This is my first test mail\",}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Ruby

require 'uri'
require 'net/http'
url = URI("https://api.pepipost.com/v2/sendEmail")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/json'
request["api_key"] = ''
request.body = "{\"personalizations\":[{\"recipient\":\"user@example.com\"}],\"from\":{\"fromEmail\":\"sales@yourdomain.com\",\"fromName\":\"MyCompany\"},\"subject\":\"Test email from Pepipost\",\"content\":\"Hi, This is my first test mail\",}"
response = http.request(request)
puts response.read_body
Node.js

var http = require("https");

var options = {
  "method": "POST",
  "hostname": "api.pepipost.com",
  "port": null,
  "path": "/v2/sendEmail",
  "headers": {
    "content-type": "application/json",
    "api_key": ""
  }
};

var req = http.request(options, function (res) {
  var chunks = [];

  res.on("data", function (chunk) {
    chunks.push(chunk);
  });

  res.on("end", function () {
    var body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.write(JSON.stringify({ personalizations: 
   [ { recipient: 'hi@welcom.com'} ],
  from: { fromEmail: 'xyz@yourdomain.com', fromName: 'YourCompanyName' },
  subject: 'Test email from Pepipost',
  content: 'Hi, This is my first test email',
  ));
req.end();
Python

import http.client
conn = http.client.HTTPSConnection("api.pepipost.com")
payload = "{\"personalizations\":[{\"recipient\":\"user@example.com\"}],\"from\":{\"fromEmail\":\"sales@yourdomain.com\",\"fromName\":\"MyCompany\"},\"subject\":\"Test email from Pepipost\",\"content\":\"Hi, This is my first test mail\",}"

headers = {
    'content-type': "application/json",
    'api_key': ""
    }

conn.request("POST", "/v2/sendEmail", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
Java

HttpResponse response = Unirest.post("https://api.pepipost.com/v2/sendEmail")
  .header("content-type", "application/json")
  .header("api_key", "")
  .body("{\"personalizations\":[{\"recipient\":\"user@example.com\"}],\"from\":{\"fromEmail\":\"sales@yourdomain.com\",\"fromName\":\"MyCompany\"},\"subject\":\"Test email from Pepipost\",\"content\":\"Hi, This is my first test mail\",}")
  .asString();
PHP

 "https://api.pepipost.com/v2/sendEmail",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "{\"personalizations\":[{\"recipient\":\"user@example.com\"}],\"from\":{\"fromEmail\":\"sales@yourdomain.com\",\"fromName\":\"MyCompany\"},\"subject\":\"Test email from Pepipost\",\"content\":\"Hi, This is my first test mail\",}",

  CURLOPT_HTTPHEADER => array(
   "api_key: ",
   "content-type: application/json"
 ),
));

$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
  echo "cURL Error #:" . $err;
 } else {
  echo $response;
}
CURL

curl --request POST \
  --url https://api.pepipost.com/v2/sendEmail \
  --header 'api_key: ' \
  --header 'content-type: application/json' \
  --data '{"personalizations":[{"recipient":"sampleuser@example.com"}],"from":{"fromEmail":"admin@yourdomain.com","fromName":"MyCompany"},"subject":"This is a test email","content":"Hi, this is my first test mail"}'

Integrate Pepipost seamlessly into your stack

 
Python
Ruby
Node
Java
PHP
C#
Perl
 

Switching to Pepipost?

Avoid the headaches! Get our migration guide and specific instructions on how to migrate to Pepipost.

I’m Switching From…

Ready to get started?

30,000 emails free for first 30 days.
Then 100/day forever.

Pepi thinking

Start typing and press Enter to search

Thank you for your details!

Fill out your information below, and we will send you a PepiAlert, that will describe your domain’s email deliverability situation. Please note that your email address must match the domain, or the domain must be owned by the company matching the email address. We have the right to refuse the request, if we can’t verify the information.

*All fields are required