Skip the password entirely and sign in with just your passkey.
Buttondown's blog
Buttondown's blog — guides, tutorials, and more
- Public lists
- davewiner/blogroll
- Fetched
Rename metadata keys in bulk
"First name" and "first_name", together at last
A spring cleaning for our legal docs
Updated DPA, privacy policy, sub-processor list, and cookie policy.
Ask a nerd: what happens when you click the spam button?
Honestly, it’s more conceptually complicated than technically complex.
Passkey support for two-factor authentication
Use your fingerprint, face, or security key as a second factor when signing in.
How Buttondown's API versioning works
A deep dive into our date-based API versioning system, inspired by Stripe, and how it lets us ship breaking changes without breaking your integrations.
How to send email to space
The first email was sent from space three days after the first webpage was published.
Safer defaults for the email creation API
A new API version that defaults to draft instead of sending, with a one-time confirmation header for immediate sends.
How we enabled Content Security Policy for everyone
Invisibly making your newsletter safer
Recovery codes for two-factor authentication
If you lose your authenticator device, recovery codes let you get back into your account.
Filter sent emails by engagement rate
Quickly find your best (and worst) performing emails by filtering on open rate, click rate, and delivery rate.
How we migrated to TypeIDs without breaking clients
Making every ID in our API self-describing, one endpoint at a time
How we check every link in your email
The machinery behind Buttondown's link checker is more involved than you might expect.
Should we bring back email exploders?
Mailing lists died out to make way for newsletters. But there are a lot of reasons to bring back group discussions over email.
Use newsletter metadata in your emails
Your newsletter's metadata is now available in email templates, giving you global variables you can reference across every email you send.
Automation timing moves inside each action
Every automation action carries its own timing as of API version 2026-04-01
Sort and filter by open and click rates
Find your most (and least) engaged subscribers by sorting and filtering by open and click rates.
Custom click tracking domains
Your click tracking links now use your own sending domain instead of a shared proxy.
More newsletter settings in the API
The /v1/newsletters endpoint now exposes locale, templates, socials, transactional emails, and more.
Revamped replies
Reply tracking is now automatic for sending domains, and always on for everyone.
Custom email templates for everyone
Full HTML control over your email design is now available to all Professional plan users.
Simplified cancellation
No more choosing between "pause" and "cancel" — there's just one option now.
Ask a Nerd: Does email length affect deliverability?
You’d have to send fairly lengthy newsletters to run into issues. And even then, only a subset of subscribers would suffer.
The changelog, reborn
A day-by-day log of everything we ship, in plain English
Swedish localization
Swedish localization
Forwarding an email is not always straightforward
It’s rare for a good email to start with Fwd: Fw: fwd:
Public descriptions for tags
Add context to subscriber-editable tags with a new API field.
OpenAPI spec for archives
A machine-readable spec for the data powering your archive pages.
How Rodrigo brings a humanistic view to consumer technology
Journalist, Rodrigo Ghedin, uses his bilingual newsletter to share his insights on the social and psychological impacts of modern consumer technology.
How Brandon Lucas Green shares his music and supports artists
Musician and tech professional, Brandon Lucas Green, uses his newsletter as an outlet to share his music journey and provide insights on how fellow creators can achieve creative independence.