# Documentation

Integrate IronDome email checks with REST, JavaScript, Python, Go, Rust, or Supabase Auth. Learn authentication, quota, and signup handling.

IronDome detects disposable email addresses before you create an account or accept an email into your product. Call it from your server at `https://api.irondome.dev`.

## Make your first check

Start with the [quickstart](/docs/quickstart) to create an API key, submit an email, and apply the result.

A classification checks syntax and disposable-email rules. It does not verify mailbox existence, ownership, or delivery. Use an email verification link or code to confirm ownership.

## Choose an integration

- [JavaScript](/docs/guides/node), [Python](/docs/guides/python), [Go](/docs/guides/go), and [Rust](/docs/guides/rust): reusable server-side clients. The [JavaScript SDK is available on npm](https://www.npmjs.com/package/@irondome-dev/sdk).
- [Supabase Auth](/docs/guides/supabase): screen new users with a signed Before User Created hook.
- [Edge and serverless](/docs/guides/edge-serverless): transports for Workers, Vercel, and Deno.
- [REST](/docs/api/check): any HTTP client with Bearer authentication.

## API reference

| Endpoint | Use |
| --- | --- |
| [POST /v1/check](/docs/api/check) | Classify one email |
| [POST /v1/check/bulk](/docs/api/bulk) | Classify up to 100 emails |
| [GET /v1/usage](/docs/api/usage) | Read your free allowance |
| [GET /healthz](/docs/api/health) | Check availability without a credential |

## Deploy your integration

Follow [signup validation](/docs/guides/signup) for account-creation decisions and [connection reuse](/docs/guides/performance) for client lifecycles. An unavailable check is not a classification.

Read [authentication](/docs/authentication), [plans and limits](/docs/plans), and [errors](/docs/errors) before enabling production traffic.
