Design Museum Gent API
Home
Developers
Policy
Github
Swagger
Home
Developers
Policy
Github
Swagger

Design Museum Gent API

Open access to Design Museum Gent’s collections via a developer-friendly, standards-based JSON-LD API.

Objects

8,400+ published collection objects with metadata, IIIF images, and color extraction.

Agents

Designers, makers, manufacturers and organisations linked to Wikidata and Getty ULAN.

Exhibitions

Full exhibition archive with linked objects, multilingual descriptions, and dates.

Concepts

5,800+ thesaurus terms with multilingual labels, scope notes and hierarchy.

Colors

Per-object color extraction with weighted statistics and dominant-color queries.

Developer friendly

JSON-LD, paginated collections, no auth required, generous rate limits, CORS open.

⚠️ API v1 is deprecated

v2 is now available. All new integrations should use v2 endpoints. See the migration guide for the breaking changes between v1 and v2. v1 remains available until 31 December 2026 — archived documentation here.

Unlock access to Design Museum Gent's rich collection through a modern, standards-based API. Whether you're an artist, researcher, developer, or curious mind — you're welcome to explore and reuse our open data.

what you can build

The API is designed to be useful well beyond catalog browsing. People are using it for:

  • Data visualisations and dashboards — exhibition timelines, designer networks, collection coverage maps
  • Generative and creative work — color palettes, image collages, sound pieces driven by metadata
  • Research tools — provenance tracing, authority reconciliation against Wikidata or Getty, longitudinal analysis
  • Machine learning — labeled image sets via IIIF, multilingual text corpora from concepts and exhibitions
  • Education — classroom assignments on linked data, museology, design history
  • Digital exhibitions and installations — public-facing apps backed by live museum data

If you're building something new, we'd like to hear about it.

What's in the API

EndpointURI patternTry it
DCAT/v2browse
Objects/v2/id/objectsbrowse
Object/v2/id/object/{PID}example
Agents/v2/id/agentsbrowse
Agent/v2/id/agent/{PID}example
Exhibitions/v2/id/exhibitionsbrowse
Exhibition/v2/id/exhibition/{PID}example
Concepts/v2/id/conceptsbrowse
Concept/v2/id/concept/{PID}example
Colors/v2/id/colorsbrowse
Colors — Dominant/v2/id/colors/dominantexample
Types/v2/id/typesbrowse
Nationalities/v2/id/nationalitiesbrowse
Materials/v2/id/materialsbrowse
Private objects/v2/id/private/objects[requires API key]
Swagger UI/api-docsbrowse

Full reference is available via Swagger.

quick start

Fetch a single object:

curl https://data.designmuseumgent.be/v2/id/object/1987-1105

A trimmed response looks like this:

{
  "@context": { "crm": "http://www.cidoc-crm.org/cidoc-crm/", "...": "..." },
  "@id": "https://data.designmuseumgent.be/v2/id/object/1987-1105",
  "@type": "crm:E22_Human-Made_Object",
  "rdfs:label": { "nl": "...", "en": "..." },
  "crm:P1_is_identified_by": [ /* identifiers, titles */ ],
  "crm:P108i_was_produced_by": { /* maker, place, date */ },
  "owl:sameAs": [ "https://www.wikidata.org/entity/Q..." ],
  "...": "..."
}

Paginate through the full objects collection:

const endpoint = 'https://data.designmuseumgent.be/v2/id/objects?itemsPerPage=50&fullRecord=true';

async function harvest(startUrl) {
    let url = startUrl;
    let total = 0;

    while (url) {
        const res = await fetch(url);
        const data = await res.json();

        // do something with data["hydra:member"]
        total += data["hydra:member"].length;
        console.log(`fetched ${total} records so far`);

        url = data["hydra:view"]?.["hydra:next"] ?? null;

        // be polite — small delay between requests
        if (url) await new Promise(r => setTimeout(r, 250));
    }

    console.log(`harvest complete: ${total} records`);
}

harvest(endpoint);

Access & limits

  • No authentication required for public endpoints. The private objects stream requires an API key.
  • Rate limits apply — see the usage policy for the full breakdown by endpoint type.
  • CORS is open, so the API can be called directly from browser-based applications.
  • The API is provided under an open data policy. Endpoints, schemas and identifiers are stable — breaking changes always result in a new version. See the versioning contract for details.

standards & linked data

The API serves JSON-LD through a REST-style interface. We follow international standards to maximise interoperability with other heritage and semantic-web systems:

  • CIDOC-CRM — international standard for cultural heritage data
  • OSLO — Flemish government standard for open data
  • Flemish URI standard — compliant persistent identifiers
  • Hydra Core Vocabulary — pagination for collection endpoints
  • PROV-O — provenance tracking
  • Getty vocabularies — AAT, ULAN, TGN for authority data
  • EU Publications Office — country and language authority URIs
  • SKOS — thesaurus labels and hierarchy (concepts)

This makes the API suitable for semantic web integration, machine learning pipelines, research tools, and digital exhibitions.

External identifier resolution

URIs from Getty (vocab.getty.edu), Wikidata (wikidata.org) and the EU Publications Office (publications.europa.eu) are fully dereferenceable and return linked data.

Stad Gent URIs (stad.gent/id/...) used in owl:sameAs throughout the API are persistent identifiers intended for cross-dataset alignment, but do not currently resolve to a human-readable or machine-readable resource.

ecosystem & reuse

To cultivate a sustainable digital culture, broad use of this technology — inside and outside the institution — matters to us. The same API powers our public website, Searcher, and other public-facing commissions and digital applications.

share your project

Building something with our API? If your work is public, send it our way — we're happy to showcase it alongside other projects that use our data.

support

  • GitHub Issues — bug reports, feature requests
  • Swagger reference — full endpoint and schema documentation
  • E-mail — anything else

development and coordination by Olivier Van D'huynslager

MIT Licensed | Maintained by Olivier Van D'huynslager at Design Museum Gent