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

Agents

Info

The agents collection endpoint provides paginated access to all agents (persons and organisations) related to the Design Museum Gent collection. For full metadata on a single agent, use the agent endpoint.

endpoint:

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

Parameters

ParameterTypeDefaultDescription
pageinteger1Page number
itemsPerPageinteger10Number of agents 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
qstring—Full text search on agent names and IDs
nationalitystring—Filter by nationality (Dutch country name). Comma-separated for multiple (AND). Use /v2/id/nationalities to discover available values
rolestring—Filter by role in the collection. Available: designer, producer. Use /v2/id/roles to discover available values
hasBiobooleanfalseOnly return agents that have at least one Wikipedia biography
languagestring—Filter by available Wikipedia biography language. Only return agents that have a biography in the specified language. Supported: NLD, FRA, ENG

Full text search — ?q=

The q parameter supports natural language search syntax:

QueryDescriptionExample
Single wordMatches any record containing the word?q=Sabino
Multiple wordsMatches records containing all words?q=Andries Copier
Exact phraseMatches the exact phrase?q="Andries Dirk Copier"
ORMatches records containing either word?q=Sabino OR Memphis
NegationExcludes records containing the word?q=designer -onbekend
GET https://data.designmuseumgent.be/v2/id/agents?q=Sabino
GET https://data.designmuseumgent.be/v2/id/agents?q="Andries Dirk Copier"
GET https://data.designmuseumgent.be/v2/id/agents?q=Sabino&fullRecord=true

Biography filters

Use hasBio and language to filter agents by Wikipedia coverage:

# agents with any Wikipedia biography
GET https://data.designmuseumgent.be/v2/id/agents?hasBio=true

# agents with a French biography
GET https://data.designmuseumgent.be/v2/id/agents?language=FRA

# Belgian designers with a French biography
GET https://data.designmuseumgent.be/v2/id/agents?language=FRA&nationality=België&role=designer

# how many agents have a French biography?
GET https://data.designmuseumgent.be/v2/id/agents?language=FRA&itemsPerPage=1
# → check hydra:totalItems

?language=FRA is sufficient on its own — it already implies a biography exists. ?hasBio=true is useful when you want agents with any biography regardless of language.

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/agents?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.

Examples:

GET https://data.designmuseumgent.be/v2/id/agents?page=1&itemsPerPage=10
GET https://data.designmuseumgent.be/v2/id/agents?page=1&itemsPerPage=50&fullRecord=true
GET https://data.designmuseumgent.be/v2/id/agents?nationality=België&role=designer
GET https://data.designmuseumgent.be/v2/id/agents?hasBio=true&language=FRA

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
400Invalid modifiedSince date format
500Server error

Pagination — hydra:view

FieldDescription
hydra:totalItemsTotal number of agents matching the current filters
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)

All active filters are preserved in pagination links. An RFC 8288 Link header is also included on every response.

Harvesting the full collection

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

    // process data["hydra:member"]

    if (data["hydra:view"]["hydra:next"]) {
        await new Promise(r => setTimeout(r, 250)) // polite delay
        await harvest(data["hydra:view"]["hydra:next"])
    }
}

harvest('https://data.designmuseumgent.be/v2/id/agents?fullRecord=true&itemsPerPage=50')

Members — hydra:member

Lightweight stub (default)

FieldDescriptionExample
@idInternal DMG URI — resolvable to full recordhttps://data.designmuseumgent.be/v2/id/agent/DMG-A-00162
@typeCIDOC-CRM classcrm:E39_Actor
rdfs:labelDefault label (full name)"Memphis"

Full record (?fullRecord=true)

Each member contains the complete CIDOC-CRM JSON-LD record including authority links, birth/death events, nationality, Wikipedia biographies, thumbnail image and exhibition participation. The structure is identical to the single agent endpoint.

Info

?fullRecord=true with itemsPerPage=50 is the recommended approach for bulk harvesting.

Warning

Full records return significantly larger payloads. Use a lower itemsPerPage if you experience timeouts.


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/agents",
  "@type": "hydra:Collection",
  "hydra:totalItems": 5432,
  "hydra:view": {
    "@id": "https://data.designmuseumgent.be/v2/id/agents?page=1&itemsPerPage=10",
    "@type": "hydra:PartialCollectionView",
    "hydra:first": "https://data.designmuseumgent.be/v2/id/agents?page=1&itemsPerPage=10",
    "hydra:last": "https://data.designmuseumgent.be/v2/id/agents?page=544&itemsPerPage=10",
    "hydra:next": "https://data.designmuseumgent.be/v2/id/agents?page=2&itemsPerPage=10"
  },
  "hydra:member": [
    {
      "@id": "https://data.designmuseumgent.be/v2/id/agent/DMG-A-00001",
      "@type": "crm:E39_Actor",
      "rdfs:label": "Copier, Andries Dirk"
    },
    {
      "@id": "https://data.designmuseumgent.be/v2/id/agent/DMG-A-00002",
      "@type": "crm:E39_Actor",
      "rdfs:label": "Memphis"
    }
  ]
}
Last Updated:: 6/1/26, 9:13 AM
Contributors: Olivier.VanD'huynslager
Prev
Agent
Next
Concept