Mastodon API client for JavaScript, TypeScript, Node.js, browsers
Examples | Read the Docs | Releases | Issues
npm install masto
>= 14.x
>= 3.6.0
any
!First, go to your settings page, open Development, and click the New Application button to earn your personal access token.
Then you're almost there! here's an example that creates a status. Replace TOKEN
with your own access token you've created in the previous section.
import { login } from 'masto';
const masto = await login({
url: 'https://example.com',
accessToken: 'TOKEN',
});
await masto.statuses.create({
status: 'Hello from #mastojs!',
visibility: 'public',
});
Other available features are described in the documentation. You may also want to refer /examples directory on this repository.
Masto.js validates your Mastodon instance's version to provide more helpful error messages, but this may lead to not working with some Mastodon-compatible software. Therefore, we are offering a way to disable this feature.
await login({
url: "https://example.com",
accessToken: "...",
+ disableVersionCheck: true
});
Masto.js uses fetch
and other Web APIs which may not be supported in specific environments such as the legacy version of Node.js, but we also automatically switch to another module that provides the same functionality βThis is so-called ponyfills. For example, if we detected fetch
API is not available, we switch to node-fetch
module. Therefore, you don't need to be aware of polyfill / ponyfill in most cases, but you will need to install them manually in some cases.
Node.js < 18
: We use node-fetch
, abort-controller
, and form-data
as ponyfill. You don't need to install polyfills. However, if you have installed polyfills of these APIs in global, Masto.js chose them as a priority.Node.js >= 18
: We use native fetch
API. You don't need to install polyfills.See CONTRIBUTING.md
Masto.js is distributed under the MIT license
Generated using TypeDoc