Python wrapper for the Mastodon ( API.
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
spla 75d5a5cba4 Changed version 6 months ago
docs Documentation for processing unknown events in streaming. 9 months ago
mastodon Changed version 6 months ago
tests Fixed overseen test failure with new app name in "secret" file 9 months ago
.gitignore Update .gitignore to ignore pytest cache 4 years ago
.travis.yml Sunset 2.7 4 years ago
CHANGELOG.rst Prep release 1.5.1 3 years ago Add reactions to changelog 3 years ago
LICENSE Update LICENSE to reflect that this is not a single person project 4 years ago Update 5 years ago
Pipfile Update Pipfile 3 years ago
Pipfile.lock Doc fixes, remove some broken code, note about blocks 4 years ago Changed version 6 months ago
setup.cfg add coverage reports to tests 5 years ago New endpoints 7 months ago
tox.ini Sunset 2.7 4 years ago

Fork of Python wrapper for the Mastodon ( API.
The goal of this fork is to add all 'new' Mastodon API's endpoints to the excellent halcy's wrapper.

Register your app! This only needs to be done once. Uncomment the code and substitute in your information.

from mastodon import Mastodon

	api_base_url = 'https://your-mastodon.server'
	to_file = 'pytooter_clientcred.secret'

Then login. This can be done every time, or use persisted.

from mastodon import Mastodon

mastodon = Mastodon(
	client_id = 'pytooter_clientcred.secret',
	api_base_url = 'https://your-mastodon.server'
	to_file = 'pytooter_usercred.secret'

To post, create an actual API instance.

from mastodon import Mastodon  

 mastodon = Mastodon(  
	access_token = 'pytooter_usercred.secret',  
	api_base_url = 'https://your-mastodon.server>'  
mastodon.toot('Tooting from python using #mastodonpy !')  

You can install via pypi:

# Python 3
pip3 install

New features

  • 26.8.2022. Mastodon v3.6.0. Added New endpoints: /api/v1/admin/domain_blocks (list,show by id, delete and create)
  • 27.8.2022. Mastodon v3.1.4. Added 'remote" param to GET /api/v1/timelines/public REST API
  • 27.8.2022. Mastodon v3.1.4. Added GET /api/v1/streaming/public/remote (Mastodon.stream_remote())
  • 06.9.2022. Mastodon v3.2.0. Added POST /api/v1/accounts/:account_id/note with comment param. (Mastodon.accounts_note(id=account_id, comment='comment')
  • 06.9.2022. Mastodon v3.6.0. Added GET /api/v1/admin/ip_blocks (Mastodon.admin_ip_blocks_list(max_id=None, min_id=None, since_id=None, limit=None)
  • 06.9.2022. Mastodon v3.6.0. Added DELETE /api/v1/admin/ip_blocks/:id (Mastodon.admin_ip_blocks_delete(id=None)
  • 06.9.2022. Mastodon v3.6.0. Added POST /api/v1/admin/ip_blocks (Mastodon.admin_ip_blocks_create(self, ip=None, severity=None, comment=None, expires_in=None)
    severity possible values are: sign_up_requires_approval, sign_up_block, no_access