Steem Developer Portal
Welcome to our API
This API document is designed for those interested in developing with steem.
Our API docs are still under development and constantly evolving. The source code for the Dev Portal is open source, and pull requests to update the portal are accepted and encouraged. Developers who would like to make additional improvements to the Dev Portal may submit pull requests to the GitHub repository: https://github.com/steemit/devportal.
Please visit the quickstart section which includes helpful tutorials to get going quickly. More detailed endpoint and advanced features are available in services for building robust platforms on the amazing and censorship resistant steem blockchain.
Choose Library
Getting started to develop robust and feature rich steem applications couldn’t be easier. Accessing steem data is easy from various options depending on your infrastructure and objectives.
Building a picture discovery app is a breeze with the JavaScript library. There is also a Python library available, Steemit.com and SBDS services, as well as many third party developer projects which could be beneficial for your steem project.
steemd Nodes
Applications that interface directly with the Steem blockchain will need to connect to a steemd node. Developers may choose to use one of the public API nodes that are available, or run their own instance of a node.
Public Nodes
URL | Owner |
---|---|
gtg.steem.house:8090 | @gtg |
steemd.minnowsupportproject.org | @followbtcnews |
steemd.privex.io | @privex |
steemd.steemgigs.org | @steemgigs |
steemd.steemit.com | @steemit |
rpc.curiesteem.com | @curie |
rpc.steemliberator.com | @netuoso |
rpc.steemviz.com | @ausbitbank |
Private Nodes
The simplest way to get started is by deploying a prebuilt dockerized container.
Dockerized p2p Node
To run a p2p node (ca. 2GB of memory is required at the moment):
Dockerized Full Node
to run a node with all the data (e.g. for supporting a content website) that uses ca. 14GB of memory and growing:
docker run \
-d -p 2001:2001 -p 8090:8090 --name steemd-default \
steemit/steem
docker logs -f steemd-default # follow along
docker run \
--env USE_WAY_TOO_MUCH_RAM=1 \
-d -p 2001:2001 -p 8090:8090 --name steemd-full \
steemit/steem
docker logs -f steemd-full
Steemit.com
steemit.com endpoints
Steemit.com offers a few endpoints for getting common data. User profile and post JSON data is very convenient and simple by appending .json to your request.
Getting a particular user profile JSON:
https://steemit.com/@curie.json
Getting a particular post JSON:
https://steemit.com/curation/@curie/the-daily-curie-12-13-feb-2017.json
Example outputs.
User object
{
"user": {
"id": 81544,
"name": "curie",
"owner": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM69WGR1yhUdKrnzwQLDPnXrW9kaAERwHze8Uvtw2ecgRqCEjWxT",
1
]
]
},
"active": {
"weight_threshold": 1,
"account_auths": [],
"key_auths": [
[
"STM5GAbbS84ViMEouJL3LKcM8VZzPejn68AfPaYaLZZDdmy98kwU5",
1
]
]
"proxy": "",
"last_owner_update": "1970-01-01T00:00:00",
"last_account_update": "2016-12-04T12:47:39",
"created": "2016-09-02T10:44:24",
"mined": false,
"owner_challenged": false,
"active_challenged": false,
"last_owner_proved": "1970-01-01T00:00:00",
"last_active_proved": "1970-01-01T00:00:00",
"recovery_account": "anonsteem",
"last_account_recovery": "1970-01-01T00:00:00",
"reset_account": "null",
"comment_count": 0,
"lifetime_vote_count": 0,
"post_count": 229,
"can_vote": true,
"voting_power": 5960,
"last_vote_time": "2017-02-13T19:21:12",
"balance": "1577.838 STEEM",
"savings_balance": "0.000 STEEM",
"sbd_balance": "0.000 SBD",
"sbd_seconds": "2918395506",
"sbd_seconds_last_update": "2017-02-12T15:58:36",
"sbd_last_interest_payment": "2017-02-05T13:45:09",
"savings_sbd_balance": "0.000 SBD",
"savings_sbd_seconds": "0",
"savings_sbd_seconds_last_update": "1970-01-01T00:00:00",
"savings_sbd_last_interest_payment": "1970-01-01T00:00:00",
"savings_withdraw_requests": 0,
"vesting_shares": "141562477.072664 VESTS",
"vesting_withdraw_rate": "12897472.658235 VESTS",
"next_vesting_withdrawal": "2017-02-15T04:53:06",
"withdrawn": "116077253924115",
"to_withdraw": "167667144557061",
"withdraw_routes": 0,
"curation_rewards": 448416,
"posting_rewards": 154104841,
"proxied_vsf_votes": [
0,
0,
0,
0,
0,
0,
0,
0
],
"witnesses_voted_for": 1,
"average_bandwidth": 855531960,
"lifetime_bandwidth": "10797835000000",
"last_bandwidth_update": "2017-02-13T19:21:12",
"average_market_bandwidth": 127424482,
"last_market_bandwidth_update": "2017-02-12T15:39:57",
"last_post": "2017-02-13T18:00:51",
"last_root_post": "2017-02-13T18:00:51",
"post_bandwidth": 19271,
"new_average_bandwidth": "370418659068",
"new_average_market_bandwidth": "93913506382",
"vesting_balance": "0.000 STEEM",
"reputation": "330673789878881",
"transfer_history": [],
"market_history": [],
"post_history": [],
"vote_history": [],
"other_history": [],
"witness_votes": [
"curie"
],
"tags_usage": [],
"guest_bloggers": [],
"blog_category": {}
},
"status": "200"
}
Post object
{
"post": {
"id": 1720643,
"author": "curie",
"permlink": "the-daily-curie-08-09-jan-2017",
"category": "curation",
"parent_author": "",
"parent_permlink": "curation",
"title": "The Daily Curie (08-09 Jan 2017)",
"body": "https://www.steemimg.com/images/2016/09/26/transporency5631977a38.png)</center>
\n IntroductionCurie](https://steemit.com/steemit/@donkeypong/announcing-project-curie-bringing-rewards-and-recognition-to-steemit-s-undiscovered-and-emerg
ing-authors) is a community project",
"last_update": "2017-01-09T12:20:15",
"created": "2017-01-09T12:20:15",
"active": "2017-01-11T22:44:57",
"last_payout": "2017-02-09T14:40:54",
"depth": 0,
"children": 36,
"children_rshares2": "0",
"net_rshares": 0,
"abs_rshares": 0,
"vote_rshares": 0,
"children_abs_rshares": 0,
"cashout_time": "1969-12-31T23:59:59",
"max_cashout_time": "1969-12-31T23:59:59",
"total_vote_weight": 0,
"reward_weight": 10000,
"total_payout_value": "0.000 SBD",
"curator_payout_value": "0.000 SBD",
"author_rewards": 0,
"net_votes": 519,
"root_comment": 1720643,
"mode": "archived",
"max_accepted_payout": "0.000 SBD",
"percent_steem_dollars": 10000,
"allow_replies": true,
"allow_votes": true,
"allow_curation_rewards": true,
"url": "/curation/@curie/the-daily-curie-08-09-jan-2017",
"root_title": "The Daily Curie (08-09 Jan 2017)",
"pending_payout_value": "0.000 SBD",
"total_pending_payout_value": "0.000 SBD"
}
SBDS
sbds is a tool for easily querying the data of the Steem Blockchain.
While providing direct interfaces to several pluggable storage architectures that may be used for querying the blockchain, sbds may also be used as a lower level API upon which other applications can be built.
Docker Hub
docker run -d steemit/sbds
Python 3
pip3 install -e git+git@github.com:steemit/sbds.git#egg=sbds
Examples
Stream blocks 1 to 3450000 from our dev S3 bucket
sbds checkpoints get-blocks s3://steemit-dev-sbds-checkpoints/gzipped --start 1 --end 3450000
Stream blocks 8000000 to the last block from your local copy of our S3 bucket
sbds checkpoints get-blocks /home/ubuntu/checkpoints/gzipped --start 8000000
Stream all blocks from your local copy of our S3 bucket
sbds checkpoints get-blocks /home/ubuntu/checkpoints/gzipped
Routes
Coming soon.
Overview
The steem community is thriving with developer activity and projects to support our great blockchain steem.
While we don’t officially endorse the following projects, below are growing third party developer projects which could be beneficial for your steem project.
Ruby Client
Radiator is a Ruby API client to interact with the steem blockchain.
Radiator - https://github.com/inertia186/radiator
steemSQL
A public Microsoft SQL server database with steem blockchain data.
steem SQL - http://www.steemsql.com/
MongoDB
SteemData helps developers and researchers build better STEEM applications. We parse the STEEM blockchain for you, and provide the data as a fast and convenient MongoDB service.
SteemData provides public MongoDB database, as well as HTTP API endpoints.
Steem Data - https://steemdata.com/
SteemDevs Chat
SteemDevs chat is a Discord chat community where members of the Steem development community go to discuss Steem development, and other related topics. It is a great place to go to ask questions, meet other developers that are working on Steem projects, share tips and code snippets, and discuss the items you are working on.
SteemDevs Chat - https://discord.gg/B29Bbng
Developer Advocate
The members of the Steemit Inc. development team are currently the main contributors to the Steem blockchain software. They oversee the open source Steem GitHub repository, and maintain many of the open source libraries that developers use.
Steemit’s Developer Advocate is here to make the process of developing for the Steem platform as smooth as possible. If you have any comments, concerns, or suggestions about how to improve the experience of developing applications with the Steem blockchain - please don’t hesitate to reach out.
Please note, the D.A. receives a lot of emails, but they will respond as quickly as possible.
site.url: "https://steem-third-party.github.io/devportal"