DeBounce · Authentication Profile

Debounce Authentication

Authentication

DeBounce authenticates every REST request with an API key passed as the `api` query-string parameter. There are no headers to set, no bearer tokens, no OAuth and no signing — which is exactly why the docs warn that the key must never be placed in client-side code. Two key classes exist with materially different posture: a private key with full account access, and a `public_`-prefixed key scoped to browser use with CORS domain allow-listing and a hard per-IP daily cap. The free Disposable Detector and Logo APIs are unauthenticated entirely. A separate OAuth 2.1 authorization server exists on debounce.com, but it belongs to the WordPress-hosted MCP endpoint, not to the validation API — see scopes/debounce-scopes.yml.

DeBounce secures its APIs with apiKey across 1 declared security scheme, as derived from its OpenAPI definitions.

Email ValidationEmail VerificationDeliverabilityDisposable Email DetectionMX RecordsBulk Email ValidationData EnrichmentSyntax ValidationReverse Email LookupLogo API
Methods: apiKey Schemes: 1 OAuth flows: API key in: query

Security Schemes

ApiKeyQuery apiKey
· in: query (api)

Source

Authentication Profile

Raw ↑
generated: '2026-08-14'
method: searched
source: openapi/ (securitySchemes) + provider docs
docs: https://developers.debounce.com/api-concepts/authentication
description: >-
  DeBounce authenticates every REST request with an API key passed as the `api`
  query-string parameter. There are no headers to set, no bearer tokens, no OAuth
  and no signing — which is exactly why the docs warn that the key must never be
  placed in client-side code. Two key classes exist with materially different
  posture: a private key with full account access, and a `public_`-prefixed key
  scoped to browser use with CORS domain allow-listing and a hard per-IP daily
  cap. The free Disposable Detector and Logo APIs are unauthenticated entirely. A
  separate OAuth 2.1 authorization server exists on debounce.com, but it belongs
  to the WordPress-hosted MCP endpoint, not to the validation API — see
  scopes/debounce-scopes.yml.

summary:
  types:
  - apiKey
  api_key_in:
  - query
  oauth2_flows: []
  unauthenticated_surfaces:
  - https://disposable.debounce.io
  - https://logo.debounce.com

schemes:
- name: ApiKeyQuery
  type: apiKey
  in: query
  parameter: api
  description: API key for authentication
  sources:
  - openapi/debounce-account-api-openapi.yml
  - openapi/debounce-bulk-api-openapi.yml
  - openapi/debounce-data-api-openapi.yml
  - openapi/debounce-validation-api-openapi.yml

key_classes:
- class: private
  prefix: null
  format: 13-character alphanumeric token
  where: query parameter `api`
  issued_at: https://app.debounce.io/api
  scope: full account access — validation, bulk, enrichment, balance, usage
  limits: 5 concurrent calls; 2 when the enrichment (append) option is enabled
  docs: https://developers.debounce.com/api-concepts/authentication
- class: public
  prefix: public_
  format: '`public_` prefix followed by the key body'
  where: query parameter `api`, from browser JavaScript
  scope: single email validation only, from an allow-listed origin
  cors: the calling domain must be added to the key's approved CORS domain list
  limits: 20 validations per internet IP address per day
  docs: https://developers.debounce.com/api-concepts/rate-limiting

failure_modes:
- http_status: 401
  body: '{"debounce":{"error":"Wrong API","code":"0"},"success":"0"}'
  meaning: API key missing, invalid, or not permitted
  verified: probed
  x-evidence:
    url: https://api.debounce.io/v1/?email=test@example.com
    fetched: '2026-08-14'
    http_status: 401
    note: >-
      Probed with no api parameter. The live response added a "loc" field not
      present in the published Error schema.
- http_status: 402
  meaning: credits exhausted — add credits to continue validating
- http_status: 403
  meaning: request not allowed for this API key or operation
- http_status: 429
  meaning: concurrency limit (private key) or daily per-IP limit (public key) exceeded

guidance:
- >-
  The key travels in the URL query string, so it lands in server access logs,
  browser history, and Referer headers. DeBounce's own docs tell integrators to
  keep the private key server-side; the `public_` key class exists precisely
  because the private key cannot be safely exposed.
- >-
  There is no key rotation, expiry or scoping mechanism documented beyond the
  private/public split, and no OAuth path to the validation API.

Work with this as data

Every security artifact here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for security posture

4 MCP tools reach this
  • find_securityBrowse and filter every security artifact in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This security artifact
curl "https://apis.io/api/v1/security/debounce-authentication"
All security posture
curl "https://apis.io/api/v1/security?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.