Welcome
The note that goes out when an account is created.
A welcome after signup. A password reset. A receipt. An invite. Pigeon is the API that sends them.
Same send call as Resend. 50,000 a month is the $20 card. Postmark paid plans include 10,000, then a price per thousand.
Free to start. 3,500 emails a month. No card.
import { Pigeon } from "pigeon"; const pigeon = new Pigeon(process.env.PIGEON_API_KEY, { baseUrl: "https://pigeonfs.com" }); await pigeon.emails.send({ from, to, subject, html });
Five minutes changes the client and the key. The from, to, subject, and html fields stay. Add the domain records, then send. Python, Go, Java, Rust, Elixir, and SMTP use the same fields.
Someone signs up, forgets a password, pays, or gets invited. Your app already knows that moment. Pigeon delivers the message.
The note that goes out when an account is created.
A one-time link when someone cannot sign in.
Proof of payment, from the same domain as the product.
A teammate, a guest, or a file that finished exporting.
01
Pigeon lists the DNS records. Mail goes out once the domain status says Verified.
02
A sending key calls the API or SMTP. A full-access key can manage domains too.
03
Welcome, reset, receipt, invite. The dashboard keeps a log of each call.
01
Open Newsletters. Name the letter and set the from address on a domain you verified.
02
Share the page Pigeon gives you. A reader confirms from the message you send.
03
Only confirmed readers receive the next issue. You can write it in the dashboard or publish it from the API.
01
Verify a domain, then open Incoming and create an address such as ada@yourdomain.com.
02
Point that domain's MX record at pigeonfs.com. Only the address you created is accepted.
03
The subject and body are stored encrypted. You read the message in Incoming.
Pigeon is the part the app talks to: the domain, the key, the log, and the monthly plan.
Create an account, add the DNS records, and send a welcome before you invite anyone else.
Get startedWe can't find the internet
Attempting to reconnect
Something went wrong!
Attempting to reconnect