Open Collections Protocol
Open Collections Protocol is a lightweight way to publish collections on the open web. A collection is treated as a first-class web resource with stable URLs.
The architectural model is LinkedCollections, and the domain-level discovery mechanism is Domain Collections Discovery (DCD).
1. Why this protocol exists
Many collections are trapped inside custom platforms, local databases, or one-off APIs. That makes long-term access and cross-institution discovery harder than it needs to be.
This protocol lowers that barrier by defining a simple published web surface based on HTTP and JSON.
2. Core model in simple terms
| Web concept | Protocol concept |
|---|---|
| Website | Collection |
index.html | collection.json manifest |
| Web page | Item record |
| Image/file | Media asset URL |
| Search engine | Collection Indexer |
| Browser | Collection Browser |
3. Summary-first publication
A manifest provides item summaries first. Detailed metadata and media are loaded only when needed.
Example collection manifest
{
"id": "rotterdam-harbor",
"title": "Rotterdam Harbor Collection",
"items": [
{
"id": "map-123",
"title": "Harbor map, 1898",
"type": "image",
"thumbnailUrl": "thumbs/123.jpg",
"detailUrl": "items/123.json"
}
]
}
Example item record
{
"id": "map-123",
"title": "Harbor map, 1898",
"date": "1898",
"assets": [
{
"role": "full",
"url": "media/123.jpg",
"mimeType": "image/jpeg"
}
]
}
Example directory structure
/.well-known/collections.json
/collections/rotterdam/collection.json
/collections/rotterdam/items/123.json
/collections/rotterdam/media/123.jpg
/collections/rotterdam/thumbs/123.jpg
4. Domain discovery (DCD)
DCD is a small file at /.well-known/collections.json that declares which
collections a domain considers authoritative.
Example domain discovery file
{
"domain": "museum-example.org",
"collections": [
{
"id": "rotterdam-harbor",
"title": "Rotterdam Harbor Collection",
"manifestUrl": "https://cdn.museum-example.org/collections/rotterdam/collection.json"
}
]
}
5. Linked collections
A collection can reference other collections for federation and reuse.
Example linked collection entry
{
"id": "north-sea-maps",
"title": "North Sea Map Collections",
"items": [
{
"id": "rotterdam-maps",
"type": "collection",
"url": "https://museum-a.org/collections/rotterdam/collection.json"
},
{
"id": "antwerp-maps",
"type": "collection",
"url": "https://archive-b.be/collections/antwerp/collection.json"
}
]
}
6. Tool ecosystem around the protocol
Typical tools include Collection Manager, Collection Browser, Collection Registry, and Collection Indexer.
- Publishing layer: manifests, item files, and media URLs.
- Identity layer: canonical URLs, with optional hashes.
- Discovery layer: DCD files, registries, and indexers.
- Presentation layer: browsers and other end-user apps.
Example architecture sketch
Domain
|- /.well-known/collections.json (DCD)
`- collection.json
|- items/*.json
`- media/*
Collection Registry + Collection Indexer / Collection Browser / Aggregator
`- consume published URLs and build different experiences