Quickstart
Connecting to the Steem blockchain takes two decisions: pick a client library for your stack, then point it at an API node. This page walks through both, so you can make your first request in minutes.
Choose a library
Accessing Steem data is easy from the official client libraries, depending on your infrastructure and objectives:
| Language | Library | Description |
|---|---|---|
| JavaScript / TypeScript | steem-js | Pure JavaScript Steem crypto library for Node.js and browsers; can be used to construct, sign, and broadcast transactions. |
| Go | steemgosdk | A Go SDK for interacting with the Steem blockchain: high-level abstractions for common operations, transaction signing and broadcasting, key management. Under active development. |
| Python | steem-python | The official Steem library for Python; comes with a BIP38 encrypted wallet and the steempy CLI tool. |
All of these libraries speak JSON-RPC to a steemd node — the connection setup in the next section applies to every one of them.
Connect to a node
Applications that interface directly with the Steem blockchain need to connect to a steemd node. You can run your own instance, or start against one of the public API nodes below.
Although steemd fully supports WebSockets (wss:// and ws://), public nodes typically do not. All nodes listed here use HTTPS.
| URL | Operator |
|---|---|
| https://api.steemit.com | @steemit |
| https://steemyy.com/node/ | @justyy |
| https://api2.justyy.com | @justyy |
| https://api.justyy.com | @justyy |
| https://steem.justyy.com | @justyy |
| https://api.steemyy.com | @justyy |
| https://api2.steemyy.com | @justyy |
| https://steem.senior.workers.dev | @justyy |
| https://api.steemitdev.com | @steemit |
| https://api.steem.fans | @ety001 |
| https://api.pennsif.net | @pennsif |
| https://steemd.steemworld.org | @steemchiller |
| https://api.symbionts.io | @symbionts |
| https://steemapi.boylikegirl.club | @boylikegirl.wit |
| https://api.campingclub.me | @visionaer3003 |
| https://cn.steems.top | @maiyude |
| https://api.moecki.online | @moecki |
This list is community-maintained and can change at any time. Each node above was verified live with a direct JSON-RPC call on 2026-10-31; nodes that failed the test have been removed. If a node stops responding, switch to another entry from the table.
Test a node with curl
Every public node speaks JSON-RPC over HTTPS. The example below asks https://api.steemit.com for the chain's dynamic global properties — the head_block_number field in the response is the tip of the chain that node is serving:
curl -s -X POST https://api.steemit.com/ \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","method":"condenser_api.get_dynamic_global_properties","params":[],"id":1}'The same request envelope works for every method in the API Reference — point it at any node from the table above, or hand the URL to your client library's node setting.