WhoisFreaks Account API

Account, API key, and usage utilities

Operations 3

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /v1.0/api-key/rotate Rotate my API key · Rotate API Key #
Ask an LLM
“How do I replace my WhoisFreaks API key with a new one?”
“Can I rotate a leaked API key so the old one stops working?”
Tell an agent destructive · confirm first
Rotate my API key and give me the new one.
Issue a fresh API key to replace my current key.
GET /v1.0/whoisapi/usage Check my account credit usage · Account Usage #
Ask an LLM
“How many API credits have I used so far?”
“What does my account usage look like this billing period?”
Tell an agent
Show my account usage and remaining credits.
Report how many lookups my account has consumed.
GET /v3.4/status Check freshness of downloadable database files · Database File Status (Public) #
Ask an LLM
“When were the downloadable database files last updated?”
“Is there a public endpoint that tells me how fresh every data file is without an API key?”
Tell an agent
Show the freshness status of all downloadable database files.
List when each downloadable data file was last refreshed.

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/whoisfreaks:whoisfreaks-account-api"
All apis
curl "https://apis.io/api/v1/apis?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.

OpenAPI Specification

whoisfreaks-account-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: WhoisFreaks Account API
  description: 'Complete WhoisFreaks API — WHOIS, DNS, SSL, Geolocation, Typosquatting,

    IP Intelligence, Domain Reputation, and bulk database downloads.


    ## Authentication

    All requests require an `apiKey` query parameter.


    ## Resources

    - Docs: https://whoisfreaks.com/documentation

    - Billing: https://billing.whoisfreaks.com

    - Support: support@whoisfreaks.com'
  version: 1.0.0
  contact:
    name: WhoisFreaks Support
    email: support@whoisfreaks.com
    url: https://whoisfreaks.com
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
servers:
- url: https://api.whoisfreaks.com
  description: API Solutions (live lookups)
- url: https://files.whoisfreaks.com
  description: Database file downloads
security:
- ApiKeyAuth: []
tags:
- name: Account
  description: Account, API key, and usage utilities
paths:
  /v1.0/api-key/rotate:
    get:
      tags:
      - Account
      summary: Rotate API Key
      operationId: rotateApiKey
      parameters: []
      responses:
        '200':
          description: Key rotated
          content:
            text/plain:
              schema:
                type: string
        '401':
          description: Not allowed
          content:
            text/plain:
              schema:
                type: string
      description: Rotate API Key. Returns the file/snapshot described by this operation.
  /v1.0/whoisapi/usage:
    get:
      tags:
      - Account
      summary: Account Usage
      operationId: accountUsage
      parameters: []
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountUsageResponse'
        4XX:
          $ref: '#/components/responses/ErrorResponse'
      description: Account Usage. Returns the file/snapshot described by this operation.
  /v3.4/status:
    servers:
    - url: https://files.whoisfreaks.com
    get:
      tags:
      - Account
      summary: Database File Status (Public)
      description: No API key required. Returns freshness of all downloadable files.
      operationId: databaseFileStatus
      security: []
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DatabaseFileStatus'
        '429':
          $ref: '#/components/responses/RateLimited'
components:
  schemas:
    ApiCredits:
      type: object
      properties:
        totalCredits:
          type: integer
        servedRequest:
          type: integer
      additionalProperties: true
    AccountUsageResponse:
      type: object
      properties:
        apiKey:
          type: string
        apiCredits:
          $ref: '#/components/schemas/ApiCredits'
        apiSubscription:
          $ref: '#/components/schemas/ApiSubscription'
      additionalProperties: true
    NewlyStatus:
      type: object
      properties:
        gtld:
          $ref: '#/components/schemas/DateRangeStatus'
        cctld:
          $ref: '#/components/schemas/DateRangeStatus'
        dns:
          $ref: '#/components/schemas/DateRangeStatus'
        cleaned_gtld:
          $ref: '#/components/schemas/DateRangeStatus'
        cleaned_cctld:
          $ref: '#/components/schemas/DateRangeStatus'
      additionalProperties: true
    UpdateFrequencies:
      type: object
      properties:
        daily:
          $ref: '#/components/schemas/DateRangeStatus'
        weekly:
          $ref: '#/components/schemas/DateRangeStatus'
        monthly:
          $ref: '#/components/schemas/DateRangeStatus'
      additionalProperties: true
    DatabaseFileStatus:
      type: object
      properties:
        newly:
          $ref: '#/components/schemas/NewlyStatus'
        expired:
          $ref: '#/components/schemas/DateRangeStatus'
        cleaned_expired:
          $ref: '#/components/schemas/DateRangeStatus'
        dropped:
          $ref: '#/components/schemas/DateRangeStatus'
        dropped_with_backlinks:
          $ref: '#/components/schemas/DateRangeStatus'
        threat_feed:
          $ref: '#/components/schemas/ThreatFeedStatus'
        database_updates:
          $ref: '#/components/schemas/DatabaseUpdates'
      additionalProperties: true
    DatabaseUpdates:
      type: object
      properties:
        domain_whois:
          $ref: '#/components/schemas/UpdateFrequencies'
        dns:
          $ref: '#/components/schemas/UpdateFrequencies'
        subdomains:
          $ref: '#/components/schemas/UpdateFrequencies'
        ip_whois:
          $ref: '#/components/schemas/UpdateFrequencies'
      additionalProperties: true
    ErrorResponse:
      type: object
      properties:
        timestamp:
          type: string
        path:
          type: string
        status: {}
        error:
          type: string
        message:
          type: string
        code:
          type: integer
      additionalProperties: true
      description: Error response. `status` may be an integer (e.g. 401), boolean, or string depending on the endpoint, so it is intentionally untyped to avoid deserialization failures.
    ThreatFeedStatus:
      type: object
      properties:
        phishing:
          $ref: '#/components/schemas/DateRangeStatus'
        malware:
          $ref: '#/components/schemas/DateRangeStatus'
        spam:
          $ref: '#/components/schemas/DateRangeStatus'
      additionalProperties: true
    ApiSubscription:
      type: object
      properties:
        requestLimit:
          type: integer
        servedRequests:
          type: integer
        subscriptionStatus:
          type: string
        surchargeRequestLimit:
          type: integer
        servedSurchargeRequests:
          type: integer
      additionalProperties: true
    DateRangeStatus:
      type: object
      properties:
        available_from:
          type: string
        last_update:
          type: string
      additionalProperties: true
  responses:
    RateLimited:
      description: Too many requests
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    ErrorResponse:
      description: Error response (4XX)
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: query
      name: apiKey