> ## 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.

# Server from an invite

> Everything known about the server behind an invite: Discord's invite (always), its public preview and widget, and an outside index when they have it. Answering `200` or `404` takes 1 search.

Everything we can learn about a server from one of its invite links. Pass the code (`disdog`) or the whole link, URL-encoded. Takes **1 search** from your quota.

Each source adds what it knows, and `sources` lists the ones that answered:

| Source | Adds |
| - | - |
| `discord_invite` | Name, icon, banner, boosts, verification, features, member and online counts, the channel, who created the invite (a full [Profile](https://docs.dis.dog/api-reference/endpoints/profile.md)), the server’s tag and traits. Always there. |
| `discord_preview` | Emojis, stickers and description, for servers listed in Discovery. |
| `discord_widget` | Members online and voice channels, when the server enabled its widget. |
| `cordcat_index` | Owner, roles, channels, emojis and the server’s change history, for servers that index covers. |

The server’s creation date (`server.createdAt`) is decoded from its ID.


## OpenAPI

````yaml GET /v1/invite/{code}
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/invite/{code}:
    get:
      tags:
        - Search
      summary: Invite
      description: >-
        What's behind a Discord invite: the server, its member and online
        counts, boosts and vanity. Accepts a code or a full link. Counts as one
        search.
      parameters:
        - name: code
          in: path
          required: true
          description: Invite code or full link (URL-encoded).
          schema:
            type: string
            example: discord-developers
      responses:
        '200':
          description: Invite
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Invite'
        '400':
          $ref: '#/components/responses/Error'
        '403':
          $ref: '#/components/responses/Error'
        '404':
          $ref: '#/components/responses/Error'
        '429':
          $ref: '#/components/responses/Error'
components:
  schemas:
    Invite:
      type: object
      properties:
        code:
          type: string
          example: discord-developers
        url:
          type: string
        memberCount:
          type:
            - integer
            - 'null'
          example: 862000
        onlineCount:
          type:
            - integer
            - 'null'
        expiresAt:
          type:
            - string
            - 'null'
          format: date-time
        server:
          type: object
          properties:
            id:
              type: string
            name:
              type: string
              example: Discord Developers
            description:
              type:
                - string
                - 'null'
            iconUrl:
              type:
                - string
                - 'null'
            bannerUrl:
              type:
                - string
                - 'null'
            createdAt:
              type:
                - string
                - 'null'
              format: date-time
            vanityCode:
              type:
                - string
                - 'null'
            boostCount:
              type:
                - integer
                - 'null'
            boostTier:
              type:
                - integer
                - 'null'
            verificationLevel:
              type:
                - integer
                - 'null'
    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.