Official SDKs

Mailbeam provides official client libraries for the most common server-side languages. All SDKs are open-source, MIT-licensed, and available on GitHub.

Node.js

Package: @mailbeam/sdk
GitHub: github.com/mailbeam/mailbeam-node

npm install @mailbeam/sdk
# or
pnpm add @mailbeam/sdk
import Mailbeam from "@mailbeam/sdk";

const mb = new Mailbeam({ apiKey: process.env.MAILBEAM_KEY });

const result = await mb.verify("user@example.com");
console.log(result.valid, result.score);

Supports Node.js 18+ and edge runtimes (Cloudflare Workers, Vercel Edge, Deno).

Python

Package: mailbeam
GitHub: github.com/mailbeam/mailbeam-python

pip install mailbeam
import mailbeam

mb = mailbeam.Client(api_key=os.environ["MAILBEAM_KEY"])

# Async (recommended for FastAPI, etc.)
result = await mb.verify("user@example.com")

# Sync
result = mb.verify_sync("user@example.com")
print(result.valid, result.score)

Compatible with Python 3.9+ and both asyncio and synchronous contexts.

PHP

Package: mailbeam/mailbeam-php
GitHub: github.com/mailbeam/mailbeam-php

composer require mailbeam/mailbeam-php
use Mailbeam\Client;

$mb = new Client($_ENV['MAILBEAM_KEY']);
$result = $mb->verify('user@example.com');

echo $result->valid ? 'valid' : 'invalid';
echo $result->score;

Compatible with PHP 8.1+ and Laravel, Symfony, or plain PHP.

Ruby

Package: mailbeam (RubyGems)
GitHub: github.com/mailbeam/mailbeam-ruby

gem install mailbeam
# or add to Gemfile:
gem 'mailbeam'
require 'mailbeam'

mb = Mailbeam::Client.new(api_key: ENV['MAILBEAM_KEY'])
result = mb.verify('user@example.com')

puts result.valid   # => true
puts result.score   # => 94

Go

Module: github.com/mailbeam/mailbeam-go
GitHub: github.com/mailbeam/mailbeam-go

go get github.com/mailbeam/mailbeam-go
package main

import (
    "context"
    "fmt"
    "os"

    mb "github.com/mailbeam/mailbeam-go"
)

func main() {
    client := mb.NewClient(os.Getenv("MAILBEAM_KEY"))

    result, err := client.Verify(context.Background(), "user@example.com")
    if err != nil {
        panic(err)
    }

    fmt.Println(result.Valid, result.Score)
}

Common SDK features

All official SDKs include:

  • Automatic retry with exponential backoff on 429 and 5xx responses
  • Typed result objects (no manual JSON parsing)
  • Test mode support via mb_test_ API keys
  • Configurable timeouts and base URLs
  • Full TypeScript/type annotation support

Missing your language?

We accept community SDK contributions. Open an issue or pull request on GitHub and we'll review it for official support status.

You can also use the raw REST API directly — it's a single POST request. See the API Reference.