wa-js: Access WhatsApp Web Functions from JavaScript

Summary
WA-JS exports WhatsApp Web functions through a JavaScript global API for browser-based integrations and automation. It suits developers building chat, group, business, or account workflows that run in WhatsApp Web.
At a glance
- Language
- TypeScript
- License
- Apache-2.0
- Stars
- 816
- Forks
- 245
- Added to OSRepos
- October 11, 2025
- Last analyzed
- October 3, 2026
Topics
Click on any tag to explore related repositories
Use at your own risk
OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of code from these repositories is the user's own responsibility. Always review the repository, source code, dependencies, licenses, and security implications before running or installing anything. OSRepos is not responsible for issues, damages, or losses resulting from third-party repositories.
Overview
WA-JS is a TypeScript library that exposes selected functions from WhatsApp Web through a global WPP object. After its bundle is injected into the WhatsApp Web page, developers can call APIs for messaging, contacts, groups, account settings, and other features without building each interaction from scratch.
It is intended as a building block for browser integrations and automation, rather than a standalone messaging service. Since it works by extracting functions from WhatsApp Web, it depends on that web application and its internal behavior.
Key Features
- Exposes WhatsApp Web functionality under organized modules such as
WPP.chat,WPP.contact, andWPP.group. - Sends text and file messages and provides chat and message operations.
- Supports contacts, groups, communities, channels, statuses, and connection events.
- Includes business-oriented APIs for catalogs, carts, orders, and labels.
- Provides account features such as profile and privacy settings, plus custom chat lists.
- Builds an injectable bundle and includes Playwright tests and tools to compare WhatsApp Web versions.
Use Cases
- A developer can add messaging and media-sending workflows to a browser-based customer support tool.
- An automation developer can respond to chat events or manage groups from a script running in WhatsApp Web.
- A business integration can work with WhatsApp catalogs, carts, orders, and chat labels where those account features apply.
- A team maintaining a WhatsApp Web integration can use the tests and version comparison scripts to identify breakage after web updates.
Project Facts
- Language: TypeScript
- License: Apache-2.0
- Stars: 816
- Forks: 245
- Topics: wa, wajs, whatsapp, whatsapp-api, whatsapp-bot, whatsapp-chatbot, whatsapp-integration, whatsapp-sdk, whatsapp-web, whatsapp-web-api, whatsapp-web-automation, wpp
- Archived: No
Getting Started
Install dependencies and build the bundle:
npm install
npm run build:prd
The build produces dist/wppconnect-wa.js, which is intended for injection into WhatsApp Web. See the README for local launch, testing, and usage examples.
Alternatives
- BuilderBot: BuilderBot focuses on building WhatsApp chatbots with conversation flows, while wa-js exposes WhatsApp Web functions for broader browser-based workflows.
Considerations
- WA-JS must run in the WhatsApp Web page, so it is not a standalone API client or server-side messaging service.
- The library extracts functions from WhatsApp Web, whose internal changes may break integrations. The project provides smoke tests and version comparison tools, but consumers should validate their workflows against current versions.
- Some APIs are account-specific. For example, labels are for business accounts, while custom lists work across account types.
- Use involves automating or integrating with WhatsApp Web. Check applicable WhatsApp terms and account requirements before deploying workflows.
Found this useful?
Share it with someone who would like wa-js.
Comparisons
Source repository
Open the original repository on GitHub.
20 counted GitHub visits
Related repositories
Similar repositories that may be relevant next.

agentwatch: Monitor AI Agent Activity Locally
October 6, 2026
agentwatch combines logs from multiple coding agents into a local timeline with event details, cost tracking, alerts, and search. It suits developers who run several agents and want visibility without sending data to a cloud service.

image-blaster: Turn Images into 3D Environments and Assets
October 5, 2026
image-blaster uses Claude skills and external generation services to turn an image into a 3D environment, object meshes, and sound effects. It is designed to quickly create starting points for game, 3D, and web projects.

OrcaReplay: Record and Replay AI Agent Runs
October 2, 2026
OrcaReplay records AI agent runs so developers can inspect what happened, replay interactions offline, and fork a run from a checkpoint onto another model. It is a TypeScript CLI for debugging and comparing agent behavior without modifying the agent.

openmake_llm: Coordinate AI Models, Agents, and Tools
October 1, 2026
OpenMake is a self-hosted AI workspace that coordinates chat models, agents, and tools in one place. It suits people who want multi-step AI workflows with local or open-weight models, while keeping infrastructure and model choices under their control.