Sample Queries
Explore ready-to-use examples of Nimbus Graph API queries — from simple postcode lookups to advanced filtered searches. These samples are designed to help you integrate quickly and understand the available filters and data structure.
This guide assumes a basic familiarity with GraphQL.
Query Techniques:
findEntryField
Find a specific field by value across multiple entries.
Use this when you need to locate records based on a field match, such as a title number, UPRN, or other identifying property field. Ideal for quick lookups.
getEntry
Retrieve a single entry by unique ID.
This operation returns one complete entry object, usually identified by an internal Nimbus ID or external reference (e.g. title number). Use this when you already know the exact ID and need full details.
getEntryField
Fetch the value of a single field from a specific entry.
Instead of returning the full entry, this allows you to retrieve just one field from a given entry — useful for lightweight responses or conditional rendering in your app.
searchEntries
Search and paginate through multiple entries with filters.
This is the core query for browsing data. You can filter by postcode, coordinates, size, use class, planning status, and more. Supports pagination with first, after, and other cursor-based arguments.
Note: This is typically the most-used query for exploring the Nimbus property dataset.
searchEntryFields
Search for specific fields across multiple entries.
This is used to retrieve a particular field across a collection — for example, pulling just the buildingType or useClass from a wide result set. Useful for analysis or when only a subset of data is required.
Query Options:
You first need to get familiar with the graphQL operators which will help in your query.
Examples:
Search by title for leases
- where anyInspires with UPRN
- where related dataOwnerships with sales
- orderBy
1. Search by title for leases
query Titles_That_Have_Leases {
searchEntries(where: { title: { leases: { any: true } } }) {
nodes {
title {
number
tenure {
value
}
leases {
startDate
endDate
address {
fullAddress
}
isPremium
breakClause {
breakClauseDescription
breakClauseTermInMonths
breakClauseFromDate
}
termMonths
termYears
rent
rentMonthly
rentAnnually
rentPerSquareFoot
rentPerSquareMeter
}
}
}
}
}
2. Inspires within UPRN
query Inspires_With_UPRNs_And_Related_Data {
searchEntries(where: { inspire: { titlePart: { uprns: { any: true } } } }) {
nodes {
inspire {
number
titlePart {
uprns {
number
classifications {
code
description
oldClass
newClass
}
councilTax {
band
effectiveDate
uniqueAddressReferenceNumber
}
}
}
}
}
}
}
3. Ownerships with sales
query Ownerships_With_Sales_Acquired_After_Date {
searchEntries(
where: {
ownership: {
sales: { some: { dateAcquired: { gt: "2023-08-22T23:00:00.000Z" } } }
}
}
) {
nodes {
ownership {
ownerType {
value
}
individualOwners {
personalDetail {
firstName
lastName
}
}
groupOwners {
company {
number
}
}
sales {
dateAcquired
title {
number
}
price
}
}
}
}
}