Comparison of Hosting Providers

There are many different hosting providers that allow you to run your bot. It can sometimes be hard to keep track of how much they cost and how good their performance is. This is why the grammY community is collecting their experiences on this page.

What is a Hosting Provider?

In order to keep a bot online 24 hours a day, you need to run a computer 24 hours a day. As mentioned in the introduction, you most likely don’t want to do that with your laptop or home computer. Instead, you can ask a company to run the bot in the cloud.

In other words, you just run it on someone else’s computer.

Comparison Tables

Please click the edit button at the bottom of the page to add more providers or to edit existing ones!

We have two comparison tables: one for serverless hosting and one for VPS.

Serverless

Serverless means that you do not control a single machine on which your bot is run. Instead, these hosting providers will rather allow you to upload your code, and then start and stop different machines as necessary to make sure that your bot always works.

This has the downside that your bot does not have access to a persistent storage by default, such as a local file system. Instead, you will often have to have a database separately and connect to it if you need to store data permanently. We therefore recommend you to use a different kind of hosting for more complex bots, e.g. a VPS.

The main thing to know about them is that on serverless infrastructures you are required to use webhooks.

NameMin. pricePricingLimitsNode.jsDenoWebNotes
DetaFreeNo paid plans yetNo specific limits
Deno DeployFree$10/mo subscription for 5M req and 100 GB; $2/1M req, $0.3/GB network100K req/day, 100 GB/mo, 10 ms CPU-time limitopen in new window
DigitalOcean FunctionsFree$1.85/100K GB-s90K GB-s/moopen in new window
Cloudflare WorkersFree$5/10M req100K req/day, 10 ms CPU-time limitopen in new windowopen in new window
HerokuFreeIt’s complicated550-1000 h/moopen in new window
VercelFree$20/mo subscriptionUnlimited invocations, 100 GB-h, 10 s time limitopen in new windowNot intended for non-websites?
Scaleway FunctionsFree€0.15/1M req, €1.2/100K GB-s1M requests, 400K GB-s/moopen in new window
Scaleway ContainersFree€0.10/100K GB-s, €1.0/100K vCPU-s400K GB-s, 200K vCPU-s/moopen in new window
Vercel Edge FunctionsFree$20/mo subscription for 500K100K req/dayopen in new window
serverless.comFree
DigitalOcean Apps$5Not tested
Fastly Compute@Edge

VPS

A virtual private server is a virtual machine that you have full control over. You can usually access it via SSHopen in new window. You can install any software there, and you are responsible for system upgrades and so on.

On a VPS, you can run bots using both long polling or webhooks.

Check out the tutorial on how to host grammY bots on a VPS.

NameMin. pricePing to Bot APICheapest option
Contabo15 ms 🇩🇪 Nuremberg
DigitalOcean$51-15 ms 🇳🇱 AMS, 19 ms 🇩🇪 FRA1 vCPU, 1 GB RAM, 25 GB SSD, 1 TB
Hetzner Cloud€4.15~42 ms 🇩🇪1 vCPU, 2 GB RAM, 20 GB SSD, 20 TB
IONOS VPS€1 or $215 ms 🇩🇪 Baden-Baden1 vCPU, 0.5 GB RAM, 8 GB SSD
Scaleway€~72 cores, 2 GB RAM, 20 GB SSD

Unit Explanations

Base Units

UnitIn WordsExplanation
Kthousand1,000 of something.
Mmillion1,000,000 of something.
EuroThe currency EUR.
$US-DollarThe currency USD.
reqrequestNumber of HTTP requests.
vCPUvirtual CPUComputing power of one virtual CPU, a part of a real CPU.
msmillisecond0.001 seconds.
ssecondOne second (SI unit for time).
minminuteOne minute, 60 seconds.
hhoursOne hour, 60 minutes.
daydayOne day, 24 hours.
momonthOne month, approximately 30 days.
GBgigabytes1,000,000,000 bytes of storage.

Example Unit Combinations

UnitQuantityIn WordsExplanation
$/mocostUS-Dollars per monthMonthly cost.
€/M reqcostEuros per million requestsCost for handling one million request.
req/minthroughputrequests per minuteNumber of requests handled in one minute.
GB/sthroughputgigabytes per secondNumber of gigabytes transferred in one second.
GB-smemory usagegigabyte secondsOne gigabyte used for one second.
GB-hmemory usagegigabyte hoursOne gigabyte used for one hour.
h/motime fractionhours per monthNumber of hours in one month.
K vCPU-s/moprocessing time fractionthousand virtual CPU seconds per monthMonthly seconds of processing time with one virtual CPU.