NIPs nostr improvement proposals

NIP-73 - External Content IDs

Table of Contents

External Content IDs

draft optional

There are certain established global content identifiers such as Book ISBNs, Podcast GUIDs, and Movie ISANs that are useful to reference in nostr events so that clients can query all the events assosiated with these ids.

i tags are used for referencing these external content ids, with k tags representing the external content id kind so that clients can query all the events for a specific kind.

Supported IDs

Type i tag k tag
URLs "<URL, normalized, no fragment>" "<scheme-host, normalized>"
Hashtags "#<topic, lowercase>" "#"
Geohashes "geo:<geohash, lowercase>" "geo"
Books "isbn:<id, without hyphens>" "isbn"
Podcast Feeds "podcast:guid:<guid>" "podcast:guid"
Podcast Episodes "podcast:item:guid:<guid>" "podcast:item:guid"
Podcast Publishers "podcast:publisher:guid:<guid>" "podcast:publisher:guid"
Movies "isan:<id, without version part>" "isan"
Papers "doi:<id, lowercase>" "doi"

Examples

Books:

Book ISBNs MUST be referenced without hyphens as many book search APIs return the ISBNs without hyphens. Removing hypens from ISBNs is trivial, whereas adding the hyphens back in is non-trivial requiring a library.

Podcasts:

Movies:

Movie ISANs SHOULD be referenced without the version part as the versions / edits of movies are not relevant. More info on ISAN parts here - https://support.isan.org/hc/en-us/articles/360002783131-Records-relations-and-hierarchies-in-the-ISAN-Registry


Optional URL Hints

Each i tag MAY have a url hint as the second argument to redirect people to a website if the client isn't opinionated about how to interpret the id:

["i", "podcast:item:guid:d98d189b-dc7b-45b1-8720-d4b98690f31f", https://fountain.fm/episode/z1y9TMQRuqXl2awyrQxg]

["i", "isan:0000-0000-401A-0000-7", https://www.imdb.com/title/tt0120737]