How to set up an eBay Discord bot with webhooks (no bot install)
Most people who search for an eBay Discord bot want one thing: new listings posted into a channel the moment they go live. This guide shows how to get exactly that using a Discord webhook, from creating the webhook to running a deal feed for a whole community.
By Andrew Galvin, Founder of eSnipe11 min readUpdated
Why an eBay Discord bot is really just a webhook
A traditional Discord bot is a program you invite to your server. It needs a bot token, a set of OAuth permissions, a host that stays online, and someone to keep it patched. For most eBay alert setups that is far more machinery than the job requires, because the job is one-directional: something outside Discord needs to post a message into a channel. Discord built a lighter mechanism for exactly this called a webhook.
A webhook is a unique URL tied to a single channel. Anything that sends a correctly formatted HTTP request to that URL appears in the channel as a message, complete with a name, an avatar and rich embeds. The sender does not join your server, cannot read your messages, and cannot post anywhere except the one channel the webhook belongs to. That is why services that watch eBay for you, eSnipe included, deliver through webhooks rather than asking you to install a bot.
The practical difference matters when you set things up. There is no “add to server” authorization screen, no role to assign, and nothing to host. You create the webhook inside Discord, copy its URL, paste it into the tool that monitors eBay, and the channel starts filling with listings. If you ever want it to stop, you delete the webhook and the flow ends instantly.
How to create a Discord webhook for eBay alerts
You need the Manage Webhooks permission in the server, which server owners and most admin roles have. On desktop, the path runs through the server or channel settings; on mobile, the same options live under the channel's Edit Channel screen, although desktop is easier for copying the long URL.
If the Webhooks option is missing from your settings, your role lacks Manage Webhooks. Ask the server owner to grant it, or to create the webhook and send you the URL in a direct message rather than a public channel. Private channels work fine; the webhook posts wherever it points, and only members who can see that channel will see the alerts.
- Open Discord and go to the server where you want alerts. Create a new text channel for them first (for example #ebay-alerts) so the webhook is scoped to a channel you control.
- Open Server Settings, then Integrations, then Webhooks. You can also right-click the channel itself, choose Edit Channel, then Integrations, then Webhooks, which pre-selects that channel.
- Click New Webhook. Discord creates one with a random name and the server's default avatar.
- Give it a recognizable name such as “eBay alerts” and confirm the channel dropdown points at the channel you just made. The name and avatar are what members see on each post.
- Click Copy Webhook URL. It looks like https://discord.com/api/webhooks/ followed by a long ID and token. Treat this URL like a password; anyone who has it can post to that channel.
- Click Save Changes. Discord sometimes discards the webhook if you close the settings panel before saving.
One channel per search keeps the feed readable
The single most useful decision in a Discord alert setup is channel structure. A webhook belongs to one channel, and a monitor sends to one webhook, so the natural unit is one search, one channel. If you pipe five different searches into #ebay-alerts, a slow-moving vintage lens search gets buried under a fast-moving graphics card search within an hour and you stop reading the channel at all.
Start with a channel per distinct thing you are hunting, named for the item rather than the tool: #rtx-4090, #omega-seamaster, #psa-10-charizard. Each channel gets its own webhook and its own monitor with its own filters. When a channel goes quiet for a week, you know that search needs broader keywords; when one is flooded, you know it needs a tighter price cap or more negative keywords. Mixed channels hide both signals.
Grouping the channels under a Discord category called something like “eBay feeds” keeps the sidebar tidy, and you can mute the noisy ones while leaving notifications on for the searches where being first actually matters. If you later want a combined view, create a summary channel and attach a second monitor with broad keywords to it rather than merging the specific ones.
Connect the webhook to an eBay monitor
With the URL on your clipboard, the remaining work happens in the monitoring tool. In eSnipe, sign in to the dashboard and click Create monitor. The form has four parts: Search, Filters, Check frequency and Notifications. The fields below are what you will see; the same concepts apply to any webhook-based eBay tool, although the labels differ.
Nothing in the form touches your eBay account. The search runs against eBay's public results, so there is no eBay login to enter, and the webhook URL is the only credential involved; it points at your Discord channel, not at eBay. Fill in the fields in order, and do not skip the price cap, because an alert feed without one is a feed of every listing that mentions your keywords.
- Monitor name: a label for the dashboard, such as “Seamaster under 2k”. It has no effect on the search itself.
- Search keywords: the exact phrase you would type into eBay's search bar. Keep it specific; “omega seamaster 300” finds far less junk than “omega watch”.
- Negative keywords: a comma-separated list of words that disqualify a listing. If any of them appear in the title, the listing is skipped. “strap, bezel, box only, replica” is a typical starting set for a watch search.
- Filters: Min price and Max price in dollars, Condition (Any, New or Pre-owned) and Listing type (All, Buy It Now or Auction). Max price is the most important one for a deal feed because it is what makes an alert worth reading.
- Check frequency: how often the search runs, from every minute up to every hour. Every minute for the searches where speed matters; every 15 or 30 minutes for wide-net research searches you review at your leisure.
- Discord webhook URL: paste the URL you copied. The form only accepts URLs that start with https://discord.com/api/webhooks/ or https://discordapp.com/api/webhooks/, which catches most paste mistakes on the spot.
Send a test and learn to read the alert embed
Before you save, use the Send test button next to the webhook field. A test message should appear in the Discord channel within a second or two. If it does, the webhook is valid and the channel is wired correctly; if you see an error, the usual culprits are a URL that was truncated when copied, a webhook that was created but not saved, or a webhook that has since been deleted in Discord. Fix the URL and test again before creating the monitor.
Once the monitor is live, each matching listing arrives as a rich embed rather than a bare link. The listing title is the embed's headline and links directly to the eBay item page. Below it you get the price, the condition as the seller declared it, the seller's username, the listing type (Buy It Now or auction), the item location, and the listing's main photo. The photo is what lets you triage in a glance: a blurry stock image on a “used” listing tells you something, and so does a clear photo of the exact variant you are after.
Read embeds in this order: price against your ceiling, then photo, then title for the details the seller buried, then location for shipping cost and time. If those four check out, tap through. Most alerts arrive 15 to 45 seconds after the listing goes live, so a deal that is genuinely underpriced is usually still available when you open it, but not for long.
Permissions and privacy: what a webhook can and can't do
A webhook has exactly one capability: posting messages to its channel. It cannot read the channel, see member lists, respond to commands, join voice, or post anywhere else. That means the service holding your webhook URL learns nothing about your server beyond the fact that the URL works. It is a far smaller trust surface than a bot with Read Messages or Administrator permissions.
The flip side is that the URL itself is the only credential. Do not paste it into a public channel, a screenshot or a shared document. If it leaks, anyone can spam the channel, though they still cannot do anything else. The fix is quick: open the webhook in Server Settings, then Integrations, then Webhooks, delete it, create a new one and update the monitor with the new URL.
On the eBay side, a webhook-based monitor works from public search results, so it never needs your eBay login, and eSnipe never asks for one. It also does not bid, snipe or buy on your behalf. Everything that happens after the alert, from opening the listing to checking out, is you, in your own eBay account, at eBay's normal prices. That separation is worth keeping in mind if you ever evaluate a tool that does want your eBay credentials.
Running an eBay deal feed for a group or community
Webhooks scale well beyond a personal server. Reselling groups, collector Discords and buy-sell-trade communities commonly run a set of channels that members treat as a shared radar. The mechanics are identical; what changes is governance. Decide who owns the monitors, because whoever creates them controls the keywords, filters and webhook URLs. One or two trusted admins running everything is simpler than many members each adding channels.
Set channel permissions so members can read the feed but the webhook is the only thing that posts there, and give discussion its own channel. A clean feed channel with a thread or a linked #deal-chat next to it lets people call dibs, share comps and flag scams without burying the alerts. Pin a short message explaining what the feed watches and what the price caps are so newcomers do not ask every week.
Expect the feed to shape behavior. Members will ask for their own searches, which is how a three-channel setup becomes thirty. There is no cap on monitors, so the cost is only attention; keep the community's channels focused on categories with real turnover and let individuals run niche searches to their own DMs or phones. A shared feed works best when everyone in it would happily buy what it posts.
Troubleshooting: eBay alerts not showing in Discord
When a channel goes silent, work from Discord outward. First confirm the webhook still exists in Server Settings; a well-meaning admin cleaning up integrations is the most common cause of a feed dying. Then hit Send test from the monitor. If the test posts but no listings ever do, the problem is the search, not the delivery.
The quickest way to tell a quiet search from a broken one is to compare against eBay directly. Enter the monitor's keywords on eBay, sort by Time: newly listed, and apply the same price and condition filters. If eBay shows listings from the last hour and your channel shows none, one of the monitor's filters or negative keywords is removing them. If eBay shows nothing recent either, the search is simply quiet and there is nothing to fix. The causes below cover almost every case in the first group.
- Filters too tight: a max price below what the item ever lists for, or Condition set to New on a category where everything is pre-owned, produces zero matches forever. Loosen one filter at a time.
- Negative keywords eating everything: a short term like “box” also removes “boxed” and “unboxed”. Review the list and prefer longer, specific phrases.
- Keywords that eBay interprets differently than you expect: paste your keywords into eBay's own search bar and sort by newly listed. If eBay shows nothing recent, the monitor will not either.
- Channel muted or notifications off: the posts are there but you are not being told. Check the channel's notification settings and your server-wide mute.
- Discord rate limits: an extremely broad search that matches hundreds of listings an hour can be throttled by Discord. Narrow it or split it across channels.