
Security News
GitHub Actions Pricing Whiplash: Self-Hosted Actions Billing Change Postponed
GitHub postponed a new billing model for self-hosted Actions after developer pushback, but moved forward with hosted runner price cuts on January 1.
bitget-api
Advanced tools
Node.js connector for Bitget REST APIs and WebSockets, with TypeScript & end-to-end tests.
Node.js connector for the Bitget APIs and WebSockets:
npm install --save bitget-api
Check out my related projects:
Most methods pass values as-is into HTTP requests. These can be populated using parameters specified by Bitget's API documentation, or check the type definition in each class within this repository (see table below for convenient links to each class).
This connector is fully compatible with both TypeScript and pure JavaScript projects, while the connector is written in TypeScript. A pure JavaScript version can be built using npm run build, which is also the version published to npm.
The version on npm is the output from the build command and can be used in projects without TypeScript (although TypeScript is definitely recommended).
Each REST API group has a dedicated REST client. To avoid confusion, here are the available REST clients and the corresponding API groups:
| Class | Description |
|---|---|
| SpotClient | Spot APIs |
| FuturesClient | Futures APIs |
| BrokerClient | Broker APIs |
| WebsocketClient | Universal client for all Bitget's Websockets |
Examples for using each client can be found in:
If you're missing an example, you're welcome to request one. Priority will be given to github sponsors.
First, create API credentials on Bitget's website.
All REST clients have can be used in a similar way. However, method names, parameters and responses may vary depending on the API category you're using!
Not sure which function to call or which parameters to use? Click the class name in the table above to look at all the function names (they are in the same order as the official API docs), and check the API docs for a list of endpoints/paramters/responses.
const {
SpotClient,
FuturesClient,
BrokerClient,
} = require('bitget-api');
const API_KEY = 'xxx';
const API_SECRET = 'yyy';
const API_PASS = 'zzz';
const client = new SpotClient({
apiKey: API_KEY,
apiSecret: API_SECRET,
apiPass: API_PASS,
},
// requestLibraryOptions
);
// For public-only API calls, simply don't provide a key & secret or set them to undefined
// const client = new SpotClient();
client.getApiKeyInfo()
.then(result => {
console.log("getApiKeyInfo result: ", result);
})
.catch(err => {
console.error("getApiKeyInfo error: ", err);
});
const symbol = 'BTCUSDT_SPBL';
client.getCandles(symbol, '1min');
.then(result => {
console.log("getCandles result: ", result);
})
.catch(err => {
console.error("getCandles error: ", err);
});
For more examples, including how to use websockets with bitget, check the examples and test folders.
Pass a custom logger which supports the log methods silly, debug, notice, info, warning and error, or override methods from the default logger as desired.
const { WebsocketClient, DefaultLogger } = require('bitget-api');
// Disable all logging on the silly level
DefaultLogger.silly = () => {};
const ws = new WebsocketClient(
{
apiKey: 'API_KEY',
apiSecret: 'API_SECRET',
apiPass: 'API_PASS',
},
DefaultLogger,
);
In rare situations, you may want to see the raw HTTP requets being built as well as the API response. These can be enabled by setting the BITGETTRACE env var to true.
This is the "modern" way, allowing the package to be directly imported into frontend projects with full typescript support.
npm install crypto-browserify stream-browserify
tsconfig.json
{
"compilerOptions": {
"paths": {
"crypto": [
"./node_modules/crypto-browserify"
],
"stream": [
"./node_modules/stream-browserify"
]
}
(window as any).global = window;
This is the "old" way of using this package on webpages. This will build a minified js bundle that can be pulled in using a script tag on a website.
Build a bundle using webpack:
npm installnpm buildnpm packThe bundle can be found in dist/. Altough usage should be largely consistent, smaller differences will exist. Documentation is still TODO - contributions welcome.
Support my efforts to make algo trading accessible to all - register with my referral links:
Contributions are encouraged, I will review any incoming pull requests. See the issues tab for todo items.
FAQs
Complete Node.js & JavaScript SDK for Bitget V1-V3 REST APIs & WebSockets, with TypeScript & end-to-end tests.
The npm package bitget-api receives a total of 622 weekly downloads. As such, bitget-api popularity was classified as not popular.
We found that bitget-api demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
GitHub postponed a new billing model for self-hosted Actions after developer pushback, but moved forward with hosted runner price cuts on January 1.

Research
Destructive malware is rising across open source registries, using delays and kill switches to wipe code, break builds, and disrupt CI/CD.

Security News
Socket CTO Ahmad Nassri shares practical AI coding techniques, tools, and team workflows, plus what still feels noisy and why shipping remains human-led.