DEV Community

Roshan singh
Roshan singh

Posted on

# Webhook vs Polling — Understanding with Real Examples

When I first started learning backend development, I kept hearing two terms everywhere:

  • Polling
  • Webhooks

At first they sounded complicated, but the core idea is simple.

Both are ways for one system to get updates from another system.

The difference is who starts the communication.


What is Polling?

Polling means your application repeatedly asks another server for updates.

Something like:

“Any new updates?”
“Any updates now?”
“What about now?”

Example:

setInterval(() => {
  fetch("/api/status");
}, 5000);
Enter fullscreen mode Exit fullscreen mode

Here, the client checks every 5 seconds.


Real-life Example of Polling

Think about checking your job application status on a company portal.

You log in and see:

Status: Under Review

After 3 days, you refresh the page.

Your browser sends another API request asking:

Has my application status changed?

That refresh is basically manual polling.


Why Polling Can Be Inefficient

Polling is easy to implement, but there’s a problem.

What if nothing changes for hours?

Your application still keeps sending requests.

That means:

  • Extra server load
  • Unnecessary network calls
  • Wasted resources

Imagine 50,000 users checking every few seconds.

That becomes expensive.


What is a Webhook?

Webhook solves this problem.

Instead of repeatedly asking for updates, you provide your server URL to another service.

When something happens, that service sends data automatically.

In simple words:

Don’t ask me repeatedly — I’ll notify you when something changes.


Real-life Example of Webhook

Payment systems are the best example.

Suppose a customer pays using Stripe or Razorpay.

Without webhooks, your backend keeps asking:

Payment successful?

With webhooks, the payment provider instantly sends a request to your server.

Example payload:

{
  "event": "payment.success",
  "orderId": 101
}
Enter fullscreen mode Exit fullscreen mode

Your backend can then:

  • Mark order as paid
  • Generate invoice
  • Send confirmation email

All automatically.


Polling vs Webhook

Feature Polling Webhook
Communication Client asks repeatedly Server pushes updates
Speed Delayed Near real-time
Requests More Less
Scalability Lower Better

Simple Analogy

Imagine ordering food.

Polling

You call the restaurant every 5 minutes:

“Is my food ready?”

Webhook

Restaurant calls you when food is ready.

That’s the difference.


Final Thoughts

Use Polling when:

  • Data changes slowly
  • Simplicity matters
  • Real-time updates are not required

Use Webhooks when:

  • Events happen unpredictably
  • Instant updates matter
  • Scalability is important

Polling is pull-based communication.

Webhooks are push-based communication.

backend #webdev #systemdesign #javascript #nodejs

Top comments (1)

Collapse
 
netvolk_online profile image
Andrey Volkov

Thank you, now it is clearly understandable!