Nostr (Notes and Other Stuff Transmitted by Relays) is an open, permissionless protocol for censorship-resistant social and messaging applications. Identity is a public/private keypair; content is a signed JSON event; transport is a WebSocket connection to one or more relays. There is no central server, no canonical API, and no organization that owns the protocol — only a set of community-defined NIPs (Nostr Implementation Possibilities) describing event kinds, relay behavior, and client conventions. A large ecosystem of clients (Damus, Amethyst, Coracle, Yakihonne, Nostur, Iris), relay implementations (strfry, nostream, khatru), and language libraries (nostr-tools for JS, python-nostr, go-nostr, rust-nostr, NDK) has formed around the protocol. Nostr is profiled here through its specifications and reference implementations rather than a vendor API.
Nostr publishes 2 APIs on the APIs.io network: Protocol (NIP-01) and Relay WebSocket Interface. Tagged areas include Nostr, Decentralized Social, Open Protocol, Relays, and WebSocket.
The Nostr catalog on APIs.io includes 1 event-driven AsyncAPI specification and 1 Spectral governance ruleset.
Nostr’s developer surface includes getting-started guide and 13 more developer resources.
Open Source Surface applies to this provider. This product is open source and we
read its repository directly, so Open Source Surface carries
10 points of the composite. It is scored from what the repository actually
publishes — a security policy, a contribution guide, a release history, a code of conduct — read live from the
provider rather than inferred from our own catalog pointers.
This facet adds; nothing was taken away to make room for it. An open-source project is not excused from
the commercial facets, because exemption would strip it of the points it does earn.
If we have the wrong repository, or this product is not open source, say so on your
provider repo and we
will drop the facet rather than have you publish against it.
Create-or-Update Ergonomics could not be measured. We hold no machine-readable contract for
this provider to read, so there is nothing to measure a write surface against. Excluded rather than scored zero:
never-measured and measured-empty are different facts. Publishing an OpenAPI is what makes this facet — and
several others — scorable at all.
The six quality facets above are damped to 90 points between them,
because the conditional facet above carries the other
10. That is why each facet's contribution is shown against a damped
maximum: raising a quality facet moves the composite by 90% of its nominal
weight, not 100%. The full arithmetic is at apis.io/rating/.
Improve this rating by publishing the missing artifacts — every area above can be raised, and the full rubric is at apis.io/rating/. Every facet and dimension name above is a link: it opens that measurement's own page — what it means, the exact checks that feed it, how the whole catalog distributes on it, and the providers at the top of it. This rating is computed from github.com/api-evangelist/nostr: open an issue to ask a question, or submit a pull request to add artifacts.
Submit an artifact on GitHub — free →Manage your own listing — the Influence plan, $499/mo →
A Nostr relay is a WebSocket server that accepts signed events, stores them subject to its own policy, and responds to subscription filters from clients. The relay surface is in...
nostr-tools is the de-facto JavaScript/TypeScript library for Nostr clients and bots. It implements event creation, signing, relay connections, subscription filters, and many co...
AsyncAPI definition of the canonical Nostr relay-client protocol as specified by NIP-01 (basic protocol) and NIP-42 (authentication). Nostr relays expose a single WebSocket endp...
aid: nostr
name: Nostr
description: 'Nostr (Notes and Other Stuff Transmitted by Relays) is an open,
permissionless protocol for censorship-resistant social and messaging
applications. Identity is a public/private keypair; content is a signed
JSON event; transport is a WebSocket connection to one or more relays.
There is no central server, no canonical API, and no organization that
owns the protocol — only a set of community-defined NIPs (Nostr
Implementation Possibilities) describing event kinds, relay behavior,
and client conventions. A large ecosystem of clients (Damus, Amethyst,
Coracle, Yakihonne, Nostur, Iris), relay implementations (strfry,
nostream, khatru), and language libraries (nostr-tools for JS,
python-nostr, go-nostr, rust-nostr, NDK) has formed around the protocol.
Nostr is profiled here through its specifications and reference
implementations rather than a vendor API.
'
type: Index
deliveryModel:
model: self-hosted
license: Unlicense
open_source: true
commercial: false
callable_host: false
label: Self-hosted open source · you run it yourself
confidence: high
source:
- license
generated: '2026-08-28'
method: derived
accessModel:
pricing: free
onboarding: unknown
trial: false
try_now: false
public: false
label: Free
confidence: medium
source:
- plans
generated: '2026-07-22'
method: derived
position: Protocol
access: Public
image: https://kinlane-images.s3.amazonaws.com/shared/apis-json/icons/nostr.png
tags:
- Nostr
- Decentralized Social
- Open Protocol
- Relays
- WebSocket
- Signed Events
- NIP
- Censorship Resistant
- Self-Sovereign Identity
url: https://raw.githubusercontent.com/api-evangelist/nostr/refs/heads/main/apis.yml
created: '2026-05-23'
modified: '2026-05-29'
specificationVersion: '0.23'
apis:
- aid: nostr:nostr-protocol
name: Nostr Protocol (NIP-01)
description: 'NIP-01 defines the core Nostr protocol: event format (id, pubkey,
created_at, kind, tags, content, sig), client-to-relay messages
(EVENT, REQ, CLOSE), and relay-to-client messages (EVENT, OK, EOSE,
CLOSED, NOTICE) exchanged over a single WebSocket connection. This
is the minimum surface every client and relay must implement.
'
humanURL: https://github.com/nostr-protocol/nips/blob/master/01.md
baseURL: wss://relay.example
tags:
- NIP-01
- Event
- WebSocket
- Subscription
- Signature
properties:
- type: Specification
url: https://github.com/nostr-protocol/nips/blob/master/01.md
- type: SpecificationIndex
url: https://github.com/nostr-protocol/nips
- type: AsyncAPI
url: https://raw.githubusercontent.com/api-evangelist/nostr/refs/heads/main/asyncapi/nostr-asyncapi.yml
- type: Repository
url: https://github.com/nostr-protocol
- aid: nostr:nostr-nips
name: Nostr Implementation Possibilities (NIPs)
description: 'NIPs are the standards documents that extend Nostr beyond the core
protocol. They define event kinds (text notes, reactions, zaps,
long-form articles, DMs, calendar events, marketplaces), client
behaviors (NIP-05 verified handles, NIP-07 browser signers, NIP-46
remote signers), and relay capabilities (NIP-11 relay information,
NIP-42 authentication). Conformance is informal — clients and relays
pick the NIPs they support.
'
humanURL: https://github.com/nostr-protocol/nips
baseURL: https://github.com/nostr-protocol/nips
tags:
- NIPs
- Event Kinds
- Extensions
- Standards
properties:
- type: SpecificationIndex
url: https://github.com/nostr-protocol/nips
- type: Repository
url: https://github.com/nostr-protocol
- aid: nostr:relay-interface
name: Nostr Relay WebSocket Interface
description: 'A Nostr relay is a WebSocket server that accepts signed events,
stores them subject to its own policy, and responds to subscription
filters from clients. The relay surface is intentionally minimal:
no accounts, no shared state, no canonical ordering. Operators
choose retention, content policy, paid-access, and authentication
(NIP-42) independently. Reference implementations include strfry
(C++), nostream (TypeScript), and khatru (Go).
'
humanURL: https://github.com/nostr-protocol/nips/blob/master/11.md
baseURL: wss://relay.example
tags:
- Relay
- WebSocket
- strfry
- khatru
- nostream
properties:
- type: Specification
url: https://github.com/nostr-protocol/nips/blob/master/01.md
- type: RelayInfo
url: https://github.com/nostr-protocol/nips/blob/master/11.md
- type: AsyncAPI
url: https://raw.githubusercontent.com/api-evangelist/nostr/refs/heads/main/asyncapi/nostr-asyncapi.yml
- type: ReferenceImplementation
url: https://github.com/hoytech/strfry
- type: ReferenceImplementation
url: https://github.com/Cameri/nostream
- type: ReferenceImplementation
url: https://github.com/fiatjaf/khatru
- aid: nostr:nostr-tools
name: nostr-tools JavaScript Library
description: 'nostr-tools is the de-facto JavaScript/TypeScript library for Nostr
clients and bots. It implements event creation, signing, relay
connections, subscription filters, and many common NIPs, and is
used by a large portion of the Nostr web ecosystem.
'
humanURL: https://github.com/nbd-wtf/nostr-tools
baseURL: https://www.npmjs.com/package/nostr-tools
tags:
- SDK
- JavaScript
- TypeScript
- Client Library
properties:
- type: Repository
url: https://github.com/nbd-wtf/nostr-tools
- type: Package
url: https://www.npmjs.com/package/nostr-tools
features:
- name: Cryptographic Identity
description: Each user is a secp256k1 keypair; no account creation, no central registry.
- name: Signed Events
description: Every event carries a Schnorr signature over a deterministic JSON serialization, allowing any relay to verify
authenticity.
- name: Multi-Relay Publishing
description: Clients publish to and read from many relays in parallel, with no single point of failure.
- name: Extensible Event Kinds
description: New event kinds and NIPs can be proposed and adopted without coordination from a central authority.
- name: Censorship Resistance
description: Relays can refuse content, but they cannot prevent it from existing elsewhere on the network.
- name: Lightweight Relay Surface
description: A minimal WebSocket interface keeps the cost of running a relay low enough for hobbyists.
useCases:
- name: Social Clients
description: Build mobile, web, or desktop social clients (Damus, Amethyst, Coracle, Yakihonne).
- name: Long-Form Publishing
description: Use NIP-23 long-form events for blog-style content and newsletter distribution.
- name: Private Messaging
description: Implement encrypted direct messages and group chat using NIP-04, NIP-17, and NIP-44 kinds.
- name: Lightning Zaps
description: Layer Lightning Network micropayments on top of Nostr events using NIP-57 zaps.
- name: Relay Operation
description: Run a public, private, or paid relay to serve specific communities or content policies.
- name: Bots and Automation
description: Build read-only bots, scrapers, and event mirrors with minimal infrastructure.
integrations:
- name: Damus
- name: Amethyst
- name: Coracle
- name: Yakihonne
- name: Nostur
- name: Iris
- name: strfry
- name: khatru
- name: nostream
- name: Lightning Network
common:
- type: IssueTracker
url: https://github.com/nbd-wtf/nostr-tools/issues
- type: Releases
url: https://github.com/nbd-wtf/nostr-tools/releases
- type: License
name: Unlicense
url: https://github.com/nbd-wtf/nostr-tools/blob/master/LICENSE
- type: DomainSecurity
url: security/nostr-domain-security.yml
- type: Website
url: https://nostr.com/
- type: GitHubOrganization
url: https://github.com/nostr-protocol
- type: Specification
url: https://github.com/nostr-protocol/nips
- type: ProtocolReference
url: https://github.com/nostr-protocol/nostr
- type: AppDirectory
url: https://nostrapps.com/
- type: SoftwareDirectory
url: https://nostr.net/
- type: GettingStarted
url: https://start.njump.me/
- type: NetworkExplorer
url: https://nostr.band/
- type: OriginalEssay
url: https://fiatjaf.com/nostr.html
- type: LlmsText
url: https://nostr.com/llms.txt
maintainers:
- FN: Kin Lane
email: kin@apievangelist.com
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.