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:

  1. Search by title for leases
    - where any

  2. Inspires with UPRN
    - where related data

  3. Ownerships 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

}

}

}

}

}