API Libraries
API Libraries allow you to work with either the WebSocket Steemd API, or the cli_wallet API. They are available for many languages.
Be aware you don't need to run your own Steem daemon for most cases, you can just connect to a public one, such as Steem.WS ran by @Xeroc and @Jesta.
Items tagged with {TX SIGNING} support the ability to build STEEM transactions. Those without the tag may not be able to build transactions, e.g. upvotes, price feeds etc.
Contents
[hide]Building your own library
Both Steemd and the cli_wallet use a standard JSON RPC over Websockets or HTTP system for most calls. @klye has written an article explaining the basics of the JSON RPC system: https://steemit.com/steem/@klye/an-introduction-to-steemd-api-calls-functions-and-usage
To support transactions, such as upvoting, memos, and posts, you can check out this in-depth article by @xeroc, creator of the Python Steem library, Piston: https://steemit.com/steem/@xeroc/steem-transaction-signing-in-a-nutshell
Python
- steem-python (Steemit Inc.) {TX SIGNING} - "steem-python is the official STEEM library for Python. It comes with a BIP38 encrypted wallet and a practical CLI utility called steempy."
- Piston (@xeroc) {TX SIGNING} - A powerful python API capable of making bots in just a few lines of code, and any other interaction with the Blockchain that you would require.
- beem (@holgern) {TX SIGNING} - Unofficial Python Library for Steem. A powerful python API similar to steem-python, but with additional features and Windows support.
Javascript
- SteemJS (@svk) {TX SIGNING} - A javascript library capable of building, signing, and broadcasting Steem transactions, and other useful functions.
- SteemJS (@pharesim) - Unrelated to SVK's SteemJS. This offers nothing more than a very light JS API for connecting to the Steem WebSocket API.
PHP
Ruby
- Radiator (@inertia) {TX SIGNING} - Ruby API Client for Steem.
- steemdata-rb (@inertia) - ActiveRecord (ruby) wrapper for SteemData (see MongoDB below).
- steem_api (@netuoso) - Rails compatible gem that provides full DB connection and models to SteemSQL.com.
Golang
- Go-Steem (@void aka @tchap) {TX SIGNING} - A library for STEEM which supports transaction signing.
Java
- Steem API-Wrapper for Java (@dez1337) {TX SIGNING} - An API Wrapper for Steem written in Java.
SQL
- Steem SQL (@arcange) - A publicly exposed Microsoft SQL database containing all the blockchain data for STEEM.
MongoDB
- SteemData (@furion) - A publicly exposed MongoDB service containing all the blockchain data for STEEM. See also SteemData.
Rust
- steem-client-rs (@ontofractal) - This is a Steem client library for Rust. Work in progress.
Rethinkdb
- Ingestron Steem (@faddat) - Rethinkdb Ingestor in Golang.
In other languages
- Galego: API Bibliotecas
- 繁體中文 (Chinese, Traditional) : Steem.center(繁)
- 简体中文 (Chinese, Simplified) : Steem.center(简)
- 日本語 (Japanese): Steem.center (jp)
- Include other languages versions if available