NIP-74: Podcasts

This NIP defines addressable events for podcast shows and episodes, optimized for metadata, discovery, and long-lived references.

Chris

4. Februar 2026February 4, 2026 · 6 Min. Lesezeit6 min read

Cover image

NIP-74: Podcasts

NIP-74 example site: https://www.transmit.fm/

Podcasts


draft optional

This NIP defines addressable events for podcast shows and episodes, optimized for metadata, discovery, and long-lived references.

This NIP is compatible with Podcasting 2.0 metadata. Clients and publishers may mirror Podcasting 2.0 fields as tags while keeping Nostr-native semantics.

Event kinds#

Podcast Show (kind:30074)#

Represents a podcast show.

Required tags#

Content#

content MAY include a longer description.

Podcast Episode (kind:30075)#

Represents a single podcast episode, linked to a show.

Required tags#

Audio media#

Episodes SHOULD include one or more imeta tags (NIP-92) describing audio variants, using fields from NIP-94. At minimum:

Optional fields include size, duration, bitrate, image, and fallback.

Podcasting 2.0 alignment (optional)#

The following tags mirror common Podcasting 2.0 fields. They are OPTIONAL and intended to improve interoperability with RSS-based tooling and indexers.

These tags have Nostr-first semantics. Use them even if you are not mirroring RSS.

Podcasting 2.0 compatibility tag formats (optional)#

These tags mirror Podcast Namespace RSS tags and should preserve required/optional fields where possible.

Mapping guidance (Podcast Namespace → NIP-74 tags)#

Podcast Namespace tag NIP-74 tag
podcast:guid i
podcast:person person
podcast:funding funding
podcast:chapters chapters
podcast:transcript transcript
podcast:soundbite soundbite
podcast:episode episode
podcast:season season
podcast:value value
podcast:valueRecipient value_recipient
podcast:image image

Other RSS/iTunes fields (not Podcast Namespace)#

These are common in RSS feeds but are not podcast: tags.

Notes#

Discovery#

Client behavior#

Examples#

Podcast Show#

{
  "kind": 30074,
  "created_at": 1737936000,
  "content": "A weekly show about distributed systems.",
  "tags": [
    ["d", "podcast:guid:c90e609a-df1e-596a-bd5e-57bcc8aad6cc"],
    ["title", "Nostr Builders"],
    ["summary", "Interviews with builders in the Nostr ecosystem."],
    ["image", "https://example.com/show-art.jpg"],
    ["r", "https://example.com"],
    ["r", "https://example.com/feed.xml"],
    ["i", "podcast:guid:c90e609a-df1e-596a-bd5e-57bcc8aad6cc"],
    ["t", "nostr"],
    ["t", "technology"]
  ]
}

Podcast Episode#

{
  "kind": 30075,
  "created_at": 1738022400,
  "content": "We discuss relay scaling, spam mitigation, and client UX.",
  "tags": [
    ["d", "podcast:item:guid:d98d189b-dc7b-45b1-8720-d4b98690f31f"],
    ["title", "Episode 42: Relays at Scale"],
    ["published_at", "1738020000"],
    ["a", "30074:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:podcast:guid:c90e609a-df1e-596a-bd5e-57bcc8aad6cc"],
    ["i", "podcast:item:guid:d98d189b-dc7b-45b1-8720-d4b98690f31f"],
    ["i", "podcast:guid:c90e609a-df1e-596a-bd5e-57bcc8aad6cc"],
    ["duration", "3600"],
    ["season", "4"],
    ["episode", "42"],
    ["t", "nostr"],
    ["t", "scaling"],
    ["imeta",
      "url https://cdn.example.com/episodes/42.mp3",
      "m audio/mpeg",
      "x 3093509d1e0bc604ff60cb9286f4cd7c781553bc8991937befaacfdc28ec5cdc",
      "size 56000000",
      "duration 3600",
      "bitrate 128000",
      "image https://cdn.example.com/episodes/42.jpg",
      "fallback https://backup.example.com/episodes/42.mp3"
    ]
  ]
}
#nip#nostr#podcast

Written by

Comments

No comments yet. Start the conversation.

Contents

8 sections

  1. Event kinds
  2. Podcast Show (kind:30074)
  3. Podcast Episode (kind:30075)
  4. Podcasting 2.0 alignment (optional)
  5. Notes
  6. Discovery
  7. Client behavior
  8. Examples