dataz.md

Discord API

Read-only Discord API for clean JSON.

Connect a Discord account slot and call tenant-scoped GET endpoints for Discord data available to the connected account, including servers and channels it can access but does not own. dataz.md is for retrieval, indexing, and analysis workflows, not sending messages or changing Discord state.

Supported Discord surfaces

Copy should stay limited to the verified read-only surfaces exposed by the current API.

Community data

Guilds, channels, roles, members, forums, and invite metadata.

Conversation data

Channel messages, direct messages, forum posts, and message lookups where the connected account can read them.

Relationship data

Friends, shared private channels, and member records available to the connected account.

Example GET calls

Tenant gateway routes use an account slug so multi-account workspaces can choose the exact connected Discord account.

GET /v1/{tenant_slug}/accounts/{account_slug}/guilds
GET /v1/{tenant_slug}/accounts/{account_slug}/guilds/{guild_id}/channels
GET /v1/{tenant_slug}/accounts/{account_slug}/channels/{channel_id}/logs
GET /v1/{tenant_slug}/accounts/{account_slug}/dms/{channel_id}/messages

Read-only boundaries

  • No sending, editing, deleting, reacting, or joining flows.
  • No moderation actions, bot commands, webhook workflows, setup/token routes, or provider-account control routes.
  • Use Authorization: Bearer <key> or X-API-Key with tenant gateway calls.

How a request flows

Calls hit a tenant-scoped gateway, which reads through the connected account and returns plain JSON. Nothing in the path can write to Discord.

dataz.md Discord request flow Your app calls the tenant gateway with an API key, the gateway reads through the connected Discord account, and the response comes back as JSON. Your app API key Tenant gateway per-workspace Connected account read-only JSON response typed fields
Your app calls the tenant gateway with an API key, the gateway reads through the connected Discord account, and the response comes back as JSON.

Sample response

GET /v1/{tenant_slug}/accounts/{account_slug}/guilds

[
  {
    "id": "123456789012345678",
    "name": "Example server"
  },
  {
    "id": "987654321098765432",
    "name": "Second example server"
  }
]

Pagination and rate limits

  • List endpoints take a limit query parameter. Channel messages and DMs default to 50 with a ceiling of 100; forum message reads default to 100 with a ceiling of 1000.
  • Discord rate limits are propagated rather than hidden. The gateway returns HTTP 429 with code: "provider_rate_limited", retryable: true, and retry_after_seconds, plus a Retry-After header.
  • Discord's own X-RateLimit-* headers are passed through on those responses so a client can back off per bucket.
  • Error responses carry X-Request-ID and X-Dataz-Request-ID for support correlation.
  • Exact defaults and bounds for every endpoint are published on the crawlable Discord reference.

Build against the Discord API surface.

Open the Discord docs for endpoint details, or create a workspace and activate an account slot.

Last updated