Design Museum Gent API
Home
Developers
Policy
Github
Swagger
Home
Developers
Policy
Github
Swagger
  • Overview
  • DCAT
  • Overview
  • Object
  • Objects
  • Exhibition
  • Exhibitions
  • Agent
  • Agents
  • Concept
  • Concepts
  • Colors
  • Types
  • Nationalities
  • Materials

Exhibitions

Info

The exhibitions collection endpoint provides paginated access to all exhibitions in the Design Museum Gent archive. For full metadata on a single exhibition, use the exhibition endpoint.

endpoint:

GET https://data.designmuseumgent.be/v2/id/exhibitions

Parameters

ParameterTypeDefaultDescription
pageinteger1Page number
itemsPerPageinteger10Number of exhibitions per page (max 100)
fullRecordbooleanfalseReturn full CIDOC-CRM records instead of lightweight stubs
modifiedSincedate—Only return records modified on or after this date. Format: YYYY-MM-DD
languagestring—Only return exhibitions with a title in the specified language. Supported: NLD, FRA, ENG
qstring—Search by title (NL/FR/EN) or internal PID

Examples:

GET https://data.designmuseumgent.be/v2/id/exhibitions?page=1&itemsPerPage=10
GET https://data.designmuseumgent.be/v2/id/exhibitions?page=1&itemsPerPage=50&fullRecord=true
GET https://data.designmuseumgent.be/v2/id/exhibitions?fullRecord=true&language=NLD&q=Troisième

Incremental harvesting

Use modifiedSince combined with fullRecord=true to efficiently harvest only records that have changed since your last sync:

GET https://data.designmuseumgent.be/v2/id/exhibitions?modifiedSince=2026-05-01&fullRecord=true&itemsPerPage=50

The parameter is preserved in all Hydra pagination links so you can follow hydra:next as normal. An invalid date format returns 400 Bad Request.


Response format

Data is returned as a Hydra Collection with CIDOC-CRM members.

PrefixNamespace
crmhttp://www.cidoc-crm.org/cidoc-crm/
hydrahttp://www.w3.org/ns/hydra/core#
rdfshttp://www.w3.org/2000/01/rdf-schema#
owlhttps://www.w3.org/2002/07/owl#
CodeDescription
200Successful request returning a paginated collection
500Server error

Pagination — hydra:view

FieldDescription
hydra:totalItemsTotal number of exhibitions in the archive
hydra:firstLink to the first page
hydra:lastLink to the last page
hydra:previousLink to the previous page (omitted on first page)
hydra:nextLink to the next page (omitted on last page)

Harvesting the full archive

To harvest all exhibitions, start at page 1 and follow hydra:next until it is absent:

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

async function harvest(url) {
    const res = await fetch(url);
    const data = await res.json();

    // do something with data["hydra:member"]

    if (data["hydra:view"]["hydra:next"]) {
        await harvest(data["hydra:view"]["hydra:next"]);
    } else {
        console.log('harvest complete')
    }
}

harvest(endpoint);

Pagination

See the objects documentation for full pagination documentation including Link header support and harvesting examples. The same pattern applies to all collection endpoints.


Members — hydra:member

Lightweight stub (default)

By default each member contains only the minimum needed to identify the exhibition and resolve to its full record:

FieldDescriptionExample
@idInternal DMG URI — resolvable to full recordhttps://data.designmuseumgent.be/v2/id/exhibition/TE_2020-001
@typeCIDOC-CRM classcrm:E7_Activity
rdfs:labelDutch title"Kleureyck. Van Eycks kleuren in design"
"hydra:member": [
    {
        "@id": "https://data.designmuseumgent.be/v2/id/exhibition/TE_2020-001",
        "@type": "crm:E7_Activity",
        "rdfs:label": "Kleureyck. Van Eycks kleuren in design"
    },
    {
        "@id": "https://data.designmuseumgent.be/v2/id/exhibition/TE_2024-002",
        "@type": "crm:E7_Activity",
        "rdfs:label": "Pretty Useless, door Alice Moretto"
    }
]

Full record (?fullRecord=true)

When fullRecord=true each member contains the complete CIDOC-CRM JSON-LD record including multilingual titles, descriptions, time span, location, organiser, poster, installation views, and links to collection objects shown during the exhibition. The structure is identical to the single exhibition endpoint — same properties, same shapes.

Multilingual titles and descriptions

Full records include titles and descriptions in Dutch, French and English where available. Not all exhibitions have content in all three languages.

Poster and installation views

crm:P65_shows_visual_item (poster) is a single object when present and omitted entirely when not. crm:P138i_has_representation (installation views) is always an array, including an empty array [] when there are no views. These shapes are standardised across both the collection and single exhibition endpoints — see the exhibition endpoint documentation for full field details.

Performance

fullRecord=true returns larger payloads as each record includes the full JSON-LD with object links, and resolving poster and installation view images requires additional storage lookups per record. Keep itemsPerPage at 50 or lower when using fullRecord=true.


Example response (lightweight)

{
    "@context": {
        "crm": "http://www.cidoc-crm.org/cidoc-crm/",
        "rdfs": "http://www.w3.org/2000/01/rdf-schema#",
        "hydra": "http://www.w3.org/ns/hydra/core#",
        "owl": "https://www.w3.org/2002/07/owl#"
    },
    "@id": "https://data.designmuseumgent.be/v2/id/exhibitions",
    "@type": "hydra:Collection",
    "hydra:totalItems": 312,
    "hydra:view": {
        "@id": "https://data.designmuseumgent.be/v2/id/exhibitions?page=1&itemsPerPage=10",
        "@type": "hydra:PartialCollectionView",
        "hydra:first": "https://data.designmuseumgent.be/v2/id/exhibitions?page=1&itemsPerPage=10",
        "hydra:last": "https://data.designmuseumgent.be/v2/id/exhibitions?page=32&itemsPerPage=10",
        "hydra:next": "https://data.designmuseumgent.be/v2/id/exhibitions?page=2&itemsPerPage=10"
    },
    "hydra:member": [
        {
            "@id": "https://data.designmuseumgent.be/v2/id/exhibition/TE_2020-001",
            "@type": "crm:E7_Activity",
            "rdfs:label": "Kleureyck. Van Eycks kleuren in design"
        },
        {
            "@id": "https://data.designmuseumgent.be/v2/id/exhibition/TE_2024-002",
            "@type": "crm:E7_Activity",
            "rdfs:label": "Pretty Useless, door Alice Moretto"
        }
    ]
}

Example response (excerpt, fullRecord=true)

{
    "@id": "https://data.designmuseumgent.be/v2/id/exhibition/TE_2020-001",
    "@type": "crm:E7_Activity",
    "rdfs:label": "Kleureyck. Van Eycks kleuren in design",
    "crm:P65_shows_visual_item": {
        "@id": "https://[supabase].supabase.co/storage/v1/object/public/posters/TE_2020-001.jpeg",
        "@type": "crm:E36_Visual_Item",
        "crm:P2_has_type": {
            "@id": "http://vocab.getty.edu/aat/300027221",
            "@type": "crm:E55_Type",
            "rdfs:label": "poster"
        }
    },
    "crm:P138i_has_representation": [
        {
            "@id": "https://[supabase].supabase.co/storage/v1/object/public/exhibition_views/TE_2020-001/view_01.jpg",
            "@type": "crm:E36_Visual_Item",
            "crm:P2_has_type": {
                "@id": "http://vocab.getty.edu/aat/300210730",
                "@type": "crm:E55_Type",
                "rdfs:label": "exhibition view"
            },
            "rdfs:label": "view_01"
        }
    ]
}

Info

A record with no poster and no installation views returns crm:P138i_has_representation: [] and simply omits crm:P65_shows_visual_item. See the exhibition endpoint for the complete field reference and a full example response.

Last Updated:: 6/19/26, 7:53 AM
Contributors: Olivier.VanD'huynslager
Prev
Exhibition
Next
Agent