> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dis.dog/llms.txt
> Use this file to discover all available pages before exploring further.

# List modules

> The seven lookup modules every search runs, and whether each is `live` or still being connected (`soon`). Never spends a search.

The seven lookup modules every search runs, and whether each one is `live` or still being connected (`soon`). It never spends a search: call it before a batch to know which results to expect. [About the modules →](https://docs.dis.dog/modules.md)


## OpenAPI

````yaml GET /v1/modules
openapi: 3.1.0
info:
  title: dis.dog API
  version: 1.0.0
  description: >-
    Discord OSINT from one key. Look up a Discord ID, a username or an invite
    and get the profile, the servers it has been seen in, its message logs, and
    the linked Roblox and guns.lol accounts. Your access key authenticates both
    the website and this API.


    **Base URL** `https://api.dis.dog`  

    **Auth** send your key as `Authorization: Bearer DD-...` (or `X-API-Key:
    DD-...`).  

    The API is included with the **Hound** and **Alpha** plans. On the free plan
    only `/v1/me` and `/v1/modules` answer; every other endpoint returns `403
    plan_has_no_api`.
servers:
  - url: https://api.dis.dog
security:
  - bearerAuth: []
paths:
  /v1/modules:
    get:
      tags:
        - Account
      summary: List modules
      description: >-
        The data modules a search runs, and whether each is live. Works on every
        plan.
      responses:
        '200':
          description: Modules
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Module'
        '401':
          $ref: '#/components/responses/Error'
components:
  schemas:
    Module:
      type: object
      properties:
        id:
          type: string
          enum:
            - profile
            - connections
            - servers
            - messages
            - roblox
            - gunslol
            - fivem
          example: profile
        name:
          type: string
          example: Discord profile
        status:
          type: string
          enum:
            - live
            - soon
          example: live
    Error:
      type: object
      required:
        - error
      description: >-
        Every error is a flat object with an `error` code. Some add fields (for
        example `retryAfterMs` on `rate_limited`).
      properties:
        error:
          type: string
          example: plan_has_no_api
          enum:
            - invalid_request
            - invalid_id
            - invalid_name
            - invalid_invite
            - unauthorized
            - invalid_api_key
            - plan_has_no_api
            - user_not_found
            - invite_not_found
            - not_available
            - removed_by_owner
            - rate_limited
            - quota_exceeded
            - module_unavailable
            - upstream_unavailable
            - upstream_busy
            - not_found
        retryAfterMs:
          type: integer
          description: 'On `rate_limited`: wait this long before retrying.'
          example: 2000
  responses:
    Error:
      description: Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Your access key, `DD-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX`. The same key is
        your website login. Keep it server-side.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.