Draft:PortCast
Where to get help
How to improve a draft
You can also browse Wikipedia:Featured articles and Wikipedia:Good articles to find examples of Wikipedia's best writing on topics similar to your proposed article. Improving your odds of a speedy review To improve your odds of a faster review, tag your draft with relevant WikiProject tags using the button below. This will let reviewers know a new draft has been submitted in their area of interest. For instance, if you wrote about a female astronomer, you would want to add the Biography, Astronomy, and Women scientists tags. Editor resources
|
PortCast is an open protocol for moving a podcast listener's data between applications. It defines a JSON-based document format and an optional HTTPS synchronization API that share a single data model, intended to carry a user's podcast subscriptions, listening history, playback position, queue, bookmarks, and per-feed preferences so that changing apps does not mean starting over. The protocol was created by a developer using the handle Trimplayer and is published as a free, openly licensed specification that anyone may implement. As of the 0.2.0 working draft, the specification is being prepared for submission to the RFC Editor under the Independent Submission stream as an Informational document.
Overview
PortCast is described by its editors as a listener-owned, federated format that requires no central server, directory, or account. The protocol builds on identifiers already present in RSS (the item GUID and feed URL) and the Podcast Namespace (podcast:guid) rather than introducing a new identity scheme, and adds a platform-reference identifier of last resort for shows that have no RSS feed, such as platform-exclusive content. The data model covers several categories of listener data:
- Subscriptions — followed feeds together with tags, identifiers, and follow dates.
- Episode state — a status for each episode (such as unplayed, in progress, completed, or archived) along with playback position, play count, ratings, and an optional log of playback events.
- Queue — an ordered "up next" list that persists across applications.
- Bookmarks and clips — time-stamped notes within an episode, which can be extended into clips with an end timestamp.
- Preferences — global and per-feed settings such as playback speed, intro and outro skipping, silence trimming, and automatic download policy.
- Extensions — namespaced data outside the defined model, which consuming applications must preserve on round-trip.
Design goals
The project positions itself as an alternative to existing partial solutions. Its documentation notes that the OPML format transfers subscriptions but little else, while per-application exports from services such as Apple, Spotify, and Pocket Casts use differing and largely private formats. Stated design principles include listener ownership, interoperable identity based on open identifiers, losslessness within the model, support for partial and incremental data, human readability, and explicit versioning. The project is federated by design: each application exposes its own endpoint on its own domain, and the editors state that they will not operate a central service.
Data model and identity
A PortCast document is a single UTF-8 JSON object that declares its protocol version as a SemVer string. Podcasts are matched primarily by podcast:guid, falling back to a feed URL, while episodes are matched by their RSS item GUID, falling back to an enclosure URL; platform-reference URIs are used only when neither open identifier is available. The 0.2.0 draft also defines a "completeness" field and accompanying merge rules, which allow a consumer to combine documents assembled from several upstream sources over time, such as a real-time export and a slower historical export.
Sync API
In addition to the file format, version 0.2.0 specifies an optional API mode in which the same entities are exposed over HTTPS for incremental synchronization. Servers may publish a discovery document, authenticate using OAuth 2.0 or bearer tokens, and support features such as delta sync, pagination, optimistic concurrency, and webhooks. File mode is described as the interoperability floor that every conforming implementation can fall back to.
Specification and tools
The protocol is defined in a specification document and validated by a JSON Schema (draft 2020-12). The specification is published under the Creative Commons Attribution 4.0 license, and the accompanying reference code is released under the MIT License. A reference implementation written in Python provides data models, a schema-driven validator, a bridge between OPML and PortCast, and a command-line interface. A reference exporter for Spotify is also provided as a worked example; according to the project, it does not store user data, and the Spotify access token is held only in a short-lived signed cookie and discarded after the export completes.
History
PortCast was first published as a version 0.1.0 draft on 26 May 2026, defining the file format. Version 0.2.0, dated 29 May 2026, added platform references for shows and episodes without an RSS feed, provenance fields, the completeness field and merge semantics, and a unified version number shared by the file format and the new API mode. The specification and reference code are hosted on GitHub.
See also
External links
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.

The draft requires multiple published secondary sources that:
Please add references that meet all three of these criteria. If none exist, the subject is not yet suitable for Wikipedia.
You must place an inline citation directly after:
Learn how to create inline citations in the: