GraphQL queries, the party data model and examples. Aligned with the official PSB schema reference.
The VPD service exposes a GraphQL endpoint. The full, current definition of all queries and types is in the official Schema Reference (partySchema) on the PSB documentation site. In GraphQL, request only the fields you need; the overview and examples below are a practical summary.
partyfindcompanysbinaceSee the schema reference for full details and types for find, company, sbi and nace.
party query: parameterssearchidnamepostcodecitycountryNL or BElangnlmaxResults10You can combine parameters to refine the search.
party type (core fields)idtypeisActivepreferredNamelegalNametradeNamesdescriptionidentifierssectorCodeslocationswebsiteeDeliveryhighlightsidentifiers: partyIdentifier and partyIdIdentifiers are not flat type/value pairs on the root party object. Use identifiers: each item has a name (scheme label, e.g. "KvK") and an id of type partyId with fields such as value, text, schemeIdText, schemeIdNumber and schemeAuthority. See the schema reference for the full list.
A location includes text (formatted full address), street, number, numberAddition, postcode, city, country (object with iso, etc.) and optional latitude / longitude.
{
party(name: "eConnect", country: "NL", maxResults: 5) {
id
preferredName
legalName
tradeNames
identifiers {
name
id {
value
text
schemeIdText
}
}
}
}
{
party(id: "12345678", maxResults: 1) {
id
preferredName
legalName
locations {
text
street
postcode
city
country {
iso
}
latitude
longitude
}
website
}
}
{
party(search: "invoicing Woerden", maxResults: 10) {
id
type
isActive
preferredName
legalName
description
identifiers {
name
id {
value
text
}
}
sectorCodes {
type
value
text
description
}
locations {
text
postcode
city
country {
iso
}
}
website
}
}
findFor fuzzy or incomplete data, use find with an args object (see the documentation for all optional fields, including ids.legal, ids.vat, ids.iban, ids.oin, ids.gln).
{
find(args: { name: "Gemeente", country: "NL", postcode: "3511" }) {
eConnectId
name
address
identifiers {
name
id {
value
text
}
}
}
}
Use search for broad text queries and name or id for tighter filters. Set lang for the language of textual fields (default Dutch). Limit maxResults while testing. Check errors in the GraphQL response for syntax or schema issues; an empty list for party or find means no match, not necessarily an error.
Want to test queries interactively? Use the VPD Playground. Or read how to use the VPD in your integration.
Try the VPD Playground