# SDK overview

Choose a JavaScript, Python, Go, or Rust client for IronDome. Learn installation availability, connection reuse, bulk checks, and errors.

## Use an IronDome SDK

Use a server-side SDK to check email addresses from your signup flow. All SDKs call `https://api.irondome.dev`; provide the API key assigned to your account. Keep both values in server configuration and reuse each client for the lifetime of its process or event loop.

| Language | Guide | Connection handling |
| --- | --- | --- |
| JavaScript / Node.js | [Node.js](/docs/guides/node) | Reuse one client and its HTTPS pool per process. |
| Python | [Python](/docs/guides/python) | Reuse a synchronous client per process or async client per event loop. |
| Go | [Go](/docs/guides/go) | Share one client across goroutines. |
| Rust | [Rust](/docs/guides/rust) | Clone the async client; clones share its pool. |

SDKs support one-address checks, bulk checks of up to 100 addresses, and health warmup. The [bulk API guide](/docs/api/bulk) describes result ordering and per-address validation errors.

Construct clients once and close owned resources at final shutdown. Warmup is optional; it sends `GET /healthz` without an email or API key. It may establish reusable transport state, but does not guarantee a warm detector or a particular connection for a later request.

Checks are not automatically retried or cached. A timeout or cancellation can happen after the service has processed a request, so handle failures separately from an email classification. Keep API keys, request bodies, and email addresses out of logs. See [check results](/docs/api/check) and [errors](/docs/errors).

[JavaScript](https://www.npmjs.com/package/@irondome-dev/sdk), [Go](https://pkg.go.dev/github.com/IrondomeDev/sdks/go@v0.2.0) and [Rust](https://docs.rs/crate/irondome-sdk/0.2.0) SDK 0.2.0 are published. Python 0.2.0 is available from [public tagged source](https://github.com/IrondomeDev/sdks/tree/javascript/v0.2.0/python) while PyPI publication is pending. Consult each guide for installation, or see [upgrade to SDK 0.2.0](/docs/guides/migrate#upgrade-to-sdk-0-2-0).
