WhoisFreaks · Authentication Profile

Whoisfreaks Authentication

Authentication

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

WHOISDNSDomain IntelligenceIP Intelligence / GeolocationCybersecurity / Threat IntelligenceOSINTReverse LookupSSL/CertificateDomain MonitoringBrand ProtectionThreat FeedsDomain Availability
Methods: apiKey Schemes: 1 OAuth flows: API key in: query

Security Schemes

ApiKeyAuth apiKey
· in: query (apiKey)

Source

Authentication Profile

Raw ↑
generated: '2026-08-09'
method: searched
source: openapi/whoisfreaks-openapi-original.yml
docs: https://whoisfreaks.com/documentation/api-key-rotation
sources:
  - openapi/whoisfreaks-openapi-original.yml
  - https://whoisfreaks.com/documentation/api-key-rotation
  - https://whoisfreaks.com/documentation/credit-usage
summary:
  types:
    - apiKey
  api_key_in:
    - query
  oauth2_flows: []
  openid_connect: false
  mutual_tls: false
schemes:
  - name: ApiKeyAuth
    type: apiKey
    in: query
    parameter: apiKey
    applied: globally (root-level `security` in the OpenAPI, inherited by all 60 operations)
    sources:
      - openapi/whoisfreaks-openapi-original.yml
obtaining_a_key:
  signup: https://whoisfreaks.com/signup
  console: https://billing.whoisfreaks.com
  free_grant: 500 credits on signup
key_management:
  rotation_docs: https://whoisfreaks.com/documentation/api-key-rotation
  rotation_operation: rotateApiKey
  rotation_path: GET /v1.0/api-key/rotate
  rotation_note: >-
    Rotation is itself a GET authenticated by the current key; it returns
    text/plain and answers "Not allowed" with 401 when the caller is not
    entitled. It is the one non-idempotent operation on the API — calling it
    twice invalidates the key you just issued.
  scopes: none — a key is all-or-nothing across every product
  multiple_keys: not documented
  ip_allowlisting: not documented
  expiry: not documented
sdk_conventions:
  env_var: WHOISFREAKS_API_KEY
  used_by: [whoisfreaks-cli, whoisfreaks-mcp-server]
  go_sdk: whois.SetAPIKey("…")
failure_modes:
  - {status: 401, meaning: 'invalid or inactive key, inactive subscription, deactivated account, or suspicious activity'}
  - {status: 412, meaning: plan request limit exhausted}
  - {status: 429, meaning: 'per-minute rate limit reached (not an auth failure)'}
failure_modes_see: errors/whoisfreaks-problem-types.yml
risk:
  key_in_url: true
  assessment: >-
    Because the credential is a query parameter, it is recorded in web-server
    and proxy access logs, CDN logs, browser history and Referer headers on any
    redirect. There is no header-based or Authorization-scheme alternative, no
    scoping, and no per-key restriction — so a leaked key grants the full
    product surface and the full credit balance until it is rotated. The
    rotation endpoint is the only compensating control published.
  recommendation_for_provider: >-
    Accept the key in an Authorization or X-API-Key header (query parameter
    retained for compatibility), and add per-key scoping and IP allowlisting.
gaps:
  - No OAuth 2.0 / OIDC.
  - No scopes or least-privilege keys.
  - No documented key expiry or multi-key support.
  - No /.well-known/oauth-authorization-server or openid-configuration (404 on both hosts).