WhatsApp API with Node.js: Full Working Example
A complete Node.js setup for sending and receiving WhatsApp messages over a plain REST API, using nothing but the fetch that's already built into Node. No SDK, no vendor lock-in, working code first.
Featured
A complete, plain-PHP setup for sending and receiving WhatsApp messages over a REST API, using nothing but the cURL extension that ships with every standard PHP install. No Composer package required, working code first.
A complete Node.js setup for sending and receiving WhatsApp messages over a plain REST API, using nothing but the fetch that's already built into Node. No SDK, no vendor lock-in, working code first.
A complete, copy-paste Python setup for sending and receiving WhatsApp messages over a plain REST API, no SDK, no vendor lock-in. Working code first, the details that actually trip people up after.
The free WhatsApp Business App and the WhatsApp Business API aren't competing products, they're two different tools from Meta with a one-way door between them. Here's what actually breaks on the free app, what the API costs once you cross over, and the newer middle option most comparisons skip.
All three are official WhatsApp Business Solution Providers selling a team inbox, a no-code chatbot and campaign tooling on top of Meta's Cloud API. The honest answer to "which is cheapest" depends on which currency you're billed in and which feature you actually need unlocked, and that's a more useful finding than any single number.
Three QR-linked WhatsApp APIs, three very different per-session prices. One of them costs roughly five times the other two, and it's not an accident — it's selling something the other two don't make a point of offering.
All three connect the same way, as a linked WhatsApp device over a QR scan, so there's no architecture debate here. The entire comparison comes down to how each one prices a connected number, and that number moves by a factor of eight depending which of the three you pick.
All three give you the exact same official WhatsApp Cloud API, at the exact same Meta message rates. What differs is who's charging on top of that, how much dashboard and support you get for it, and how much engineering time you're trading for the cheapest number on the page.
All three drive the same thing: a real Chromium instance running the actual WhatsApp Web client through Puppeteer. So this isn't a sockets-versus-browser decision like the Baileys comparisons. It's a question of community size, how much of the HTTP layer each one builds for you, and one license that stands apart from the other two.