---
title: "Disposable-only check (free)"
method: POST
path: "/v1/verify/disposable"
tags: ["Verification"]
---

# Disposable-only check (free)

`POST /v1/verify/disposable`

## Request

- Base URL: `https://api.billionverify.com`
- URL: `https://api.billionverify.com/v1/verify/disposable`
- Auth: API key in header `BV-API-KEY`

Pure in-memory lookup against the embedded disposable-domain table.
Does NOT consume credits, does NOT call SMTP / MX / cache. Every
call writes one row to `email_verification` history with
`metadata.needs_charging=false` + `metadata.filtered_at="api_gateway"`,
so the call is auditable but never billed.

See `docs/disposable/disposable.md` for the full design.

## Request body

- object
  - `email` string, email, required

## Response `200`

Disposable check completed

- object
  - `success` boolean
  - `code` string
  - `message` string
  - `data` object
    - `email` string
    - `domain` string
    - `is_disposable` boolean
    - `checked_at` string, date-time

## Other responses

- `400`: Bad request - invalid parameters
- `401`: Unauthorized - invalid or missing API key
- `429`: Rate limit exceeded

---

[API](https://skmtc.dev/billionverify/apis/billionverify-api.md) · [All operations](https://skmtc.dev/billionverify/apis/billionverify-api/llms.txt) · [OpenAPI document](https://skmtc.dev/billionverify/apis/billionverify-api/revisions/00762347dc27?raw)
