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.
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 'https://misskey.io/api/meta'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);import requests
res = requests.get("https://misskey.io/api/meta", timeout=20)
res.raise_for_status()
print(res.json()){
"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,
"serverErParameters
| Parameter | Type | Required | Description |
|---|---|---|---|
(none) | n/a | Optional | `meta` takes no required parameters. A POST body of `{"detail": true}` returns extra administrative fields on some instances. |
(host) | base URL | Required | The 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
JSON Formatter
Format, beautify and minify JSON online with 2-space, 4-space or tab indentation. Sort keys alphabetically and catch syntax errors instantly — free and private.
Strip HTML Tags
Remove all HTML tags and convert markup to clean plain text. Decode HTML entities and keep line breaks for block elements like paragraphs and headings.
URL Parser
Parse a URL into protocol, host, port, path, query parameters and hash. Handles relative URLs with a base and shows query params in a table. Free and private.
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.