Discord Server Metadata Lookup avatar

Discord Server Metadata Lookup

Pricing

Pay per event

Go to Apify Store
Discord Server Metadata Lookup

Discord Server Metadata Lookup

Bulk-resolve Discord server metadata — name, description, icon, verification level, member and presence counts — from invite codes or URLs via Discord's public invite-lookup API. Metadata only: no message history, no member lists, no authenticated access.

Pricing

Pay per event

Rating

0.0

(0)

Developer

DevilScrapes

DevilScrapes

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 hours ago

Last modified

Categories

Share


🎯 What this scrapes

Discord's public invite-resolution endpoint answers one invite code at a time with real guild metadata — name, description, icon, verification level, approximate member/presence counts — but there's no bulk form and no batch tooling around it. This Actor takes a list of invite codes or URLs (bare code or full discord.gg/discord.com/invite link), resolves each one against Discord's own keyless API, and returns one clean row per input item in order. It's a metadata lookup, not a crawl: no message history, no member rosters, no authenticated Discord API calls of any kind.

🔥 What we handle for you

  • 🔍 Local format validation, free — every invite code or URL is normalized and validated before any network call, so a malformed entry never costs you a billed row.
  • 🔁 Retries with exponential backoff on 408 / 429 / 5xx — up to 5 attempts, Discord's own retry_after and the Retry-After header both honoured.
  • 🫠 One bad invite never fails the run — an expired, invalid, or unreachable invite is logged and rowed as not_found/transport_error; the rest of your list still ships.
  • 🧊 Clean, typed dataset rows — Pydantic-validated, stable fields, JSON / CSV / Excel export straight from the Apify Console.
  • 💰 Pay-Per-Event pricing — you only pay for invite codes that resolve to a real server. Invalid, not-found, and failed lookups are free.

💡 Use cases

  • Track a competitor's Discord community size and growth over time from a list of invite links.
  • Enrich a server directory or Web3/gaming project database with live member/presence counts and verification level.
  • Screen a list of partner or sponsor Discord servers for legitimacy signals before outreach.
  • Feed a growth-marketing dashboard with server metadata pulled from links shared across social channels.

⚙️ How to use it

  1. Click Try for free at the top of the page.
  2. Fill in the input form — most fields have sensible defaults.
  3. Click Start. Output streams into the run's dataset.
  4. Export from Storage → Dataset as JSON, CSV, or Excel — or fetch via the API.

📥 Input

FieldTypeRequiredDefaultNotes
invite_codes_or_urlsarrayyes['python', 'discord-developers', 'reactiflux']Discord invite codes or URLs to resolve, 1-500 per run — bare code (python) or full URL (https://discord.gg/python,…
proxyConfigurationobjectno{'useApifyProxy': False}Discord's public invite-resolution endpoint is a keyless API with no anti-bot surface observed. Leave this off unless…

Example input

{
"invite_codes_or_urls": [
"python",
"discord-developers",
"reactiflux"
],
"proxyConfiguration": {
"useApifyProxy": false
}
}

📤 Output

Every row is one dataset item.

FieldTypeNotes
input_valuestringRaw input list item, verbatim.
invite_codestringLocally normalized code (extracted from a URL, or the trimmed bare code).
is_valid_inputbooleanLocal code-format validation result.
lookup_statusstringOutcome of this row.
error_reasonstringHuman-readable reason when lookup_status is not 'resolved'; null on success.
guild_idstringDiscord guild (server) id.
guild_namestringDiscord guild (server) name.
guild_descriptionstringGuild's own description text, when set.
guild_icon_hashstringRaw guild icon hash from Discord's API.
guild_icon_urlstringConstructed CDN icon URL — .gif when the hash is 'a_'-prefixed, else .png; null when the guild has no icon.
verification_levelintegerGuild's verification level, as returned by Discord.
vanity_url_codestringGuild's vanity invite code, when the server has one.
approximate_member_countintegerApproximate total member count.
approximate_presence_countintegerApproximate currently-online member count.
invite_expires_atstringInvite expiry timestamp, when Discord includes one.
inviter_usernamestringUsername of the invite's creator, when Discord includes an inviter (many invites omit it).
channel_idstringId of the channel the invite lands in.
channel_namestringName of the channel the invite lands in.
channel_typeintegerDiscord channel-type code for the invite's target channel.
looked_up_atstringISO-8601 timestamp when this row was resolved.

Example output

{
"input_value": "https://discord.gg/python",
"invite_code": "python",
"is_valid_input": true,
"lookup_status": "resolved",
"error_reason": null,
"guild_id": "192485424653418496",
"guild_name": "Python Discord",
"guild_description": "The number one place on Discord for Python programmers.",
"guild_icon_hash": "5cf0526...",
"guild_icon_url": "https://cdn.discordapp.com/icons/192485424653418496/5cf0526....png",
"verification_level": 3,
"vanity_url_code": "python",
"approximate_member_count": 431208,
"approximate_presence_count": 76485,
"invite_expires_at": null,
"inviter_username": null,
"channel_id": "267624335836053506",
"channel_name": "welcome",
"channel_type": 0,
"looked_up_at": "2026-09-15T00:00:00Z"
}

💰 Pricing

Pay-Per-Event — you pay only when these events fire:

EventUSDWhat it is
actor-start$0.2One-off warm-up charge per run
result-row$0.005Per unique dataset item

Example: 1 000 results at the rates above ≈ $5.20. No subscription, no minimum, no card to start — Apify gives every new account $5 of free credit.

🚧 Limitations

  • Up to 500 invite codes/URLs per run, one lookup per item — there's no batch form on Discord's own endpoint.
  • Only servers reachable through a live, unexpired invite code can be looked up — there's no server-directory search or discovery of codes you don't already have.
  • Member-level data (rosters, roles, permissions) and channel contents (messages, threads, pins) are never returned — Discord's invite endpoint doesn't expose them.
  • inviter_username is frequently null — many servers configure invites without an exposed creator.

❓ FAQ

Do I need a bot token or Discord login?

No. This Actor uses only Discord's public, keyless invite-resolution endpoint — no OAuth, no bot token, no login.

Does this scrape messages or member lists?

No. It returns aggregate server metadata only — name, description, icon, verification level, approximate member/presence counts. Discord's invite endpoint never exposes message history or a member roster, and this Actor doesn't use any authenticated API that would.

What if an invite code is expired or invalid?

It comes back as a normal row with lookup_status set to not_found or invalid_input and a short error_reason — the run still succeeds, and that row is never billed.

Can I pass a full discord.gg link instead of just the code?

Yes. Both discord.gg/ and discord.com/invite/ links are parsed locally into the bare code before any network call — paste whichever form you have.

[object Object]