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.
Yes. You can use name together with city, postcode or country to refine results. The official parameter list is in the schema reference.
Via the identifiers field on party. Select name and the id fields you need (for example value and text). This replaces the older pattern with a flat list partyIds { type value }.
By default at most 10 results for party, unless you raise maxResults. For a quick check, maxResults: 1 is often enough.
Want to test queries interactively? Use the VPD Playground. Or read how to use the VPD in your integration.
Try the VPD Playground