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.
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" |
- Book ISBN:
["i", "isbn:9780765382030"]
- https://isbnsearch.org/isbn/9780765382030
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.
- Podcast RSS Feed GUID:
["i", "podcast:guid:c90e609a-df1e-596a-bd5e-57bcc8aad6cc"]
- https://podcastindex.org/podcast/c90e609a-df1e-596a-bd5e-57bcc8aad6cc - Podcast RSS Item GUID:
["i", "podcast:item:guid:d98d189b-dc7b-45b1-8720-d4b98690f31f"]
- Podcast RSS Publisher GUID:
["i", "podcast:publisher:guid:18bcbf10-6701-4ffb-b255-bc057390d738"]
- Movie ISAN:
["i", "isan:0000-0000-401A-0000-7"]
- https://web.isan.org/public/en/isan/0000-0000-401A-0000-7
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
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]