BYTETOOLS

Misskey Instance API

Free Fediverse API with no key: read a Misskey instance's metadata — version, languages, registration policy, features and admin contact. Tested example included.

No API key requiredCORS enabledHTTPSFree tier

Endpoint tested and returned HTTP 200 on 2026-08-21

What is the Misskey Instance API?

Every Misskey server exposes an `/api/meta` endpoint that returns the instance's public metadata without authentication: software version, name and description, supported languages, whether registration is open, and which optional features are enabled.

Misskey is the other large Fediverse server software — a sibling to Mastodon that speaks the same ActivityPub protocol but has its own API, its own feature set and a very different culture around it. `misskey.io` alone is one of the biggest single Fediverse instances by user count, and every Misskey server, self-hosted ones included, answers `/api/meta` the same way.

The endpoint is more useful than "instance metadata" makes it sound. `disableRegistration`, `emailRequiredForSignup` and the captcha flags together tell you whether an instance is accepting new users and on what terms, which is exactly what an instance directory needs. The `version` string tells you which API surface you are talking to, and that matters because Misskey moves fast and endpoints appear and disappear between releases. Note the historical quirk: most Misskey endpoints are POST-only by convention, though `meta` answers a plain GET.

Quick facts

Base URL
https://misskey.io/api
Authentication
No API key for `meta`. Reading timelines and posting need an access token issued by the instance.
Rate limit
Set per instance by its administrator. The public misskey.io instance publishes no specific figure for `meta`.
Pricing
Free. Misskey is open source software, and each instance is run independently.
CORS
Enabled — callable directly from browser JavaScript
Official docs
Read the docs

How to use the Misskey Instance API

Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.

1. Read public metadata for a Misskey instance

GET https://misskey.io/api/meta

curl
curl 'https://misskey.io/api/meta'
JavaScript (fetch)
const res = await fetch("https://misskey.io/api/meta");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://misskey.io/api/meta", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200 (truncated)
{
  "maintainerName": "MisskeyHQ Inc.",
  "maintainerEmail": "https://go.misskey.io/support",
  "version": "2025.4.1-io.12b-fb6fbea074",
  "name": "Misskey.io",
  "shortName": null,
  "uri": "https://misskey.io",
  "description": "Misskey.io は、株式会社MisskeyHQが運営する地球で生まれた分散マイクロブログSNSです。<br>\nFediverse(様々なSNSで構成される宇宙)の中に存在するため、他のSNSと相互に繋がっています。\n<br>\n暫し都会の喧騒から離れて、新しいインターネットにダイブしてみませんか。<br>\n<br>\n<span style=\"color:#eb6363\">※VPNや捨てメアドを利用しての登録は出来ません</span>",
  "langs": [
    "ja",
    "en",
    "zh",
    "ko",
    "fr",
    "de"
  ],
  "dimensions": 10000,
  "tosUrl": "http://go.misskey.io/tos",
  "repositoryUrl": "https://github.com/MisskeyIO/misskey",
  "feedbackUrl": "https://go.misskey.io/support",
  "impressumUrl": null,
  "privacyPolicyUrl": "https://go.misskey.io/policy",
  "inquiryUrl": null,
  "disableRegistration": false,
  "emailRequiredForSignup": true,
  "enableHcaptcha": false,
  "hcaptchaSiteKey": "95d75440-7e37-4419-a693-8f52c377f1c5",
  "enableMcaptcha": false,
  "mcaptchaSiteKey": null,
  "mcaptchaInstanceUrl": null,
  "enableRecaptcha": false,
  "recaptchaSiteKey": "6Lc5sBAsAAAAAGUieAqq5OVixHzVKLbF3l01Gzou",
  "enableTurnstile": true,
  "turnstileSiteKey": "0x4AAAAAAACJmZyh3LCvo-uf",
  "googleAnalyticsId": "G-52ZWSHBSXM",
  "enableTestcaptcha": false,
  "swPublickey": "BHqCPVsCM8pMUo26Fenl6fuLPfuqQTNeo2Rpvt6KFxFEKznKAXZBHI2nk1aAanlJ1Me_PSr-MVkW3ho4RaYmZpk",
  "themeColor": "#86b300",
  "mascotImageUrl": "/assets/ai.png",
  "bannerUrl": "https://media.misskeyusercontent.jp/misskey/65b25d3c-2ae4-474f-b1c0-050c8c8962e1.jpg",
  "infoImageUrl": null,
  "serverEr

Parameters

ParameterTypeRequiredDescription
(none)n/aOptional`meta` takes no required parameters. A POST body of `{"detail": true}` returns extra administrative fields on some instances.
(host)base URLRequiredThe instance you are asking about. Any Misskey server answers the same path — swap misskey.io for another host. https://misskey.io

Response fields

name / shortName / descriptionstring
Instance display name and its self-description. The description is HTML, not plain text.
versionstring
Misskey version with the instance's own build suffix. This determines which endpoints exist.
uristring
Canonical base URL of the instance.
langsarray
Languages the instance declares it operates in.
disableRegistrationboolean
False when anyone can sign up, true when the instance is invite-only or closed.
emailRequiredForSignupboolean
Whether a verified email is needed to register.
enableHcaptcha / enableRecaptcha / enableMcaptchaboolean
Which captcha the signup flow uses, with the corresponding site keys alongside.
maintainerName / maintainerEmailstring
Administrative contact, as required by ActivityPub convention.
tosUrl / privacyPolicyUrl / repositoryUrlstring
Policy and source links, when the operator has set them.

What you can build with the Misskey Instance API

  • Build a Fediverse instance directory with live open/closed registration status
  • Detect which Misskey version a server runs before calling version-sensitive endpoints
  • Monitor your own instance's configuration from an external check
  • Compare feature flags and policies across several instances

Common errors and how to fix them

404 on another host

That server is not running Misskey.

Fix: Mastodon and other ActivityPub software use different paths. Try `/api/v1/instance` for Mastodon-compatible servers.

405 Method Not Allowed

You called a Misskey endpoint that only accepts POST.

Fix: `meta` answers GET, but most of the API does not. Send POST with a JSON body for anything else.

Field missing that the docs describe

The instance runs an older or forked build.

Fix: Read `version` first and treat every optional field as possibly absent.

HTML rendered as text

`description` contains markup.

Fix: It is HTML by design. Sanitise and render it, or strip tags if you need plain text.

Misskey Instance API — frequently asked questions

Do I need a token to read Misskey instance metadata?

No. `/api/meta` is public on every instance. Reading timelines, notifications or posting all require an access token issued by that instance.

Does this work on any Misskey server?

Yes. The path is part of Misskey itself, so any instance — including a self-hosted one — answers it. Only the host in the URL changes.

How is Misskey different from Mastodon?

Both speak ActivityPub and federate with each other, but they are separate codebases with separate APIs. Misskey's endpoints are mostly POST-based and its feature set, including reactions and Drive, differs considerably.

Can I tell whether an instance is accepting signups?

Yes — that is one of the more useful things here. `disableRegistration` gives you the headline answer, and `emailRequiredForSignup` plus the captcha flags tell you what the signup actually demands.

Tools that pair with this API

Misskey Instance API is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.