Get Business Grants API Reference

Get Business Grants API Documentation

Last Updated: 27th May 2026

For further help email: support@xsortal.com

All API requests should send a Bearer Authentication header with your API Key.

For example:
Authorization: Bearer d445Ug1lk7

You can find your API key in the Grants API Subscription area of Get Business Grants.

Contact

API Support

[email protected]

API Endpoints
https://api.xsortal.com:4000
Version

4.0.0

Get Started

Your application should use the GraphQL endpoint at https://api.xsortal.com:4000

All API requests should send an Authorization header along with your API key:

Authorization: Bearer d445Ug1lk7

Your API limits won't start until you perform your first API request. To help you get setup you can use our test API key as seen below:

Authorization: Bearer 123456789abcdefg

The test API key is unlimited and allows you to test your setup before switching to your live key. The test key will not return real-life grant results and will always return the same two sample grant results no matter which of the 4 limited queries (see below) you request.

Grants API – 5 Minute Matcher

We have a minimal HTML/CSS/JS code example that creates a basic grants matcher in a few minutes. You can view the code here: Grants API – 5 Minute Matcher

API Limits

API limits are only applied on those queries which return grant results i.e.:

  • allPurposes
  • allGrants
  • purpose
  • grant
  • relatedGrants

The API imposes limits based on your level of subscription package. The limits are imposed based on two metrics:

Number of unique requests per month x Number of results returned per request

Definition of a unique request

A unique request is any unique combination of arguments passed to any of the API limited queries listed above. Should you request a query using a combination of arguments that you've already used in the last month then results will be returned as normal and there will be no impact on your API limit count.

The following arguments have no effect on your API limit: orderBy, orderByDirection, perPage, currentPage

Should you exceed your API limit then you will receive the below as a response:

{
  "data": {
      "apiError": "You have reached your monthly API limit"
  }
}

Monitoring your API limits

The below X-API Response Headers are sent with every response:

Name Description Example
x-api-max-monthly-requests How many unique requests your subscription alows per month 20
x-api-max-results-per-request The maximum number of results returned per unique request 20
x-api-total-unique-requests-this-month How many unique requests have been made this month 2
x-api-total-unique-requests-remaining-this-month How many unique requests are remaining this month 18
x-api-start-date When your first request was made Tue Mar 11 2022 07:38:14 GMT+0100
x-api-limit-start-date When your current API limit period started 11/02/2023, 07:38:14
x-api-limit-end-date When your current API limit period will end 11/03/2023, 07:38:14

Grant Overview

Our grants database contains thousands of grant. Each grant is broken down into various Funding Purposes. A single grant can have 1 or more Funding Purposes. A Funding Purpose is essentially the part of a grant that someone can apply to get money for.

It is recommended that your searches and results revolve around Funding Purposes rather than the overall encompassing grants as users apply for money at the Funding Purpose level.

Structure of a Grant

Some examples of Funding Purposes are:

  • Business Growth
  • Job Creation
  • Staff Development
  • Working Capital

The full list of Funding Purposes can be obtained through the allFundingPurposes GraphQL query.

The main query you use to return a set of Funding Purpose results is allPurposes

The main query you use to return a single Funding Purpose result is purpose

List of available fields returned for a Grant or Purpose

Grant specific fields

Field Type Description Example
id integer Unique number to identify the grant 62
url string The URL of the grants home page https://www.cofundni.com
title string The title of the grant Co-Fund NI Business Investment
openOrClosed enum Is the grant Open, Opening, Closed or Closing Opening
currency enum The currency the grant amount is in ('£', '€', '$') £
totalFundSize integer The size of the overall pot of money available across the grant's purposes - unformatted 50000000
totalFundSizeFormatted string The size of the overall pot of money available across the grant's purposes - formatted 5,000,000
provider1 string The main provider of the grant Invest Northern Ireland
provider2 string The secondary provider of the grant Clarendon Fund Managers
provider3 string The tertiary provider of the grant European Commission
fundingTypes array The types of funding provided Equity Finance
purposes array The available purposes for the grant. See below for the Purpose specific fields Business Growth
dateAdded string An ISO 8601 datetime string in UTC format of when the grant was added into our database 2026-05-18T14:30:00Z

Funding Purpose specific fields

Field Type Description Example
id integer Unique number to identify the purpose 204796
grantId integer The id of the grant this purpose is attached to 62
fundingPurpose string The type of funding purpose Business Growth
fundingPurposeDefinition string Definition of the funding purpose Business growth grants fund activities that help you increase sales or find new customers such as market research, marketing, website translation or the cost of launching a product.
purpose_title string The title of the purpose Co-Fund NI Business Investment
purposeUrl string The URL of the purpose's home page http://www.cofundni.com
purposeApplicationUrl string The URL of the purpose's application page https://www.cofundni.com/company-application-form.aspx
purposeSizeMin integer The minimum amount available for this purpose - unformatted 150000
purposeSizeMinFormatted integer The minimum amount available for this purpose - formatted 150,000
purposeSizeMax integer The maximum amount available for this purpose - unformatted 1000000
purposeSizeMaxFormatted integer The minimum amount available for this purpose - formatted 1,000,000
purposeDescription string Description of the purpose The Co-Fund NI programme aims to invest alongside private investors such as business angels or business angel syndicates into eligible SMEs.
purpose_dates string Contains the relevant date or dates of the purpose. Could also display, for example, Ongoing if there are no relevant dates Start Date for Applications: 9th January 2023
Application Deadline: 19th March 2023
purposeRegionIsUK integer Does this purpose cover the whole of the UK? 1=true 0=false 0
deadlineDate integer An ISO 8601 datetime string in UTC format, if any, of the purpose's deadline date 2026-05-18T14:30:00Z
dateAdded integer An ISO 8601 datetime string in UTC format of when the purpose was added into our database 2026-05-18T14:30:00Z
regions array The regions this purpose applies to North West
South East
sectors array The sectors this purpose applies to. Can also show "All Sectors" if the purpose isn't sector specific Construction
Manufacturing
businessTypes array The business types this purposes applies to Small Business
Medium Business

Results ordering

When using the allPurposes query to fetch results there is a default ordering that takes place to ensure the results returned are the most relevant ones. The default ordering occurs under the following conditions:

  1. No orderBy specified but a sector argument is specified
  2. orderBy is '"sector"
  3. No orderBy specified but a location/region is specified
  4. orderBy is "region" or "location"

Sector ordering

Sector ordering occurs for the following examples:

query {
  allPurposes(sector: "Construction") {
    ...
  }
}
1st level ordering 2nd level ordering Comment
1. exact sector match DESC
2. sectors including the given sector DESC
3. All Sectors DESC
purpose_size_max DESC Results only assigned to the given sector(s) are returned first, followed by those results that are assigned to more than 1 sector(s) including the given sector, followed by those sectors assigned to no specific sector (All Sectors). Results within each sector result group are ordered by purpose_size_max DESC
query {
  allPurposes(
    funding_purpose: "Business Innovation"
    orderBy: "sector"
    ) {
    ...
  }
}

In this example, as no sector was specified but orderBy is "sector", results are returned in sector alphabetical order with those assigned to All Sectors coming after those with an assigned sector.

Location/Region ordering

Location or region ordering occurs for the following examples:

query {
  allPurposes(location: "Dudley") {
    ...
  }
}
1st level ordering 2nd level ordering Comment
region DESC purpose_size_max DESC Results are returned in location heirarchy order (Town -> City -> LGA -> County -> NUTS -> Country). In the example above results will be returned in the order where region matches Dudley -> Dudley District -> West Midlands -> England -> United Kingdom. Within each of those region levels results are ordered by purpose_size_max DESC
query {
  allPurposes(
    funding_purpose: "Business Innovation"
    orderBy: "location") {
    ...
  }
}

In this example, as no location was specified but orderBy is "location", results are returned in location heirarchy order (Town -> City -> LGA -> County -> NUTS -> Country) with those assigned to the whole of the UK coming at the end.

If you ONLY wanted the Dudley results returned, and not any results from the region heirarchy, you can use the locationOnly argument of the allPurposes query. When locationOnly is passed and set to 1, ONLY extact region matches are returned, in this example only results for Dudley would be returned.

Documentation Changelog

27th May 2026

  • Fields that returned a Unix Timestamp now return a ISO 8601 DateTime

23rd March 2026

  • Updated all arguments to use camelCase as opposed to the old snake_case

23rd December 2025

  • Added a new argument and result field into the allPurposes and allGrants queries called Fund Title (fund_title) which shows the title of the fund (if any) such as UK Shared Prosperity Fund or Growth Guarantee Scheme. There's also a new query called allFundTitles which returns all the available fund titles.

4th December 2025

  • We've cleaned up some fields to make them more consistent, for example, the allFundingPurposes query now returns the field funding_purposes as opposed to fundingpurpose.

  • We've also moved to a more detailed/fine-grained list of sub funding purposes. You can see the new list by using the allSubFundingPurposes query. This new list enables you to find much more relevant grants for your clients.

28th January 2025

  • The location argument to both the allPurposes and allGrants queries will now handle regional name variations. For example, Cardiff is also known as Caerdydd in Welsh and is assigned to "Cardiff / Caerdydd" in our database. You can now search for either "Cardiff / Caerdydd", "Cardiff" or "Caerdydd" and the same results will be returned in each case.

8th January 2025

  • Updated the GrantHistory definition to reflect the new Removed reasons.

10th December 2024

21st November 2024

Queries

allBusinessTypes

Description

Returns all the possible Business Types. The main use of this query would be in a UI to present, for example, a drop down list of possible Business Types for the user to select.

Response

Returns [BusinessType!]!

Example

Query
query allBusinessTypes {
  allBusinessTypes {
    businessType
    businessTypeContext
    fundingAmount
    fundingAmountContext
  }
}
Response
{
  "data": {
    "allBusinessTypes": [
      {
        "businessType": "Medium Business",
        "businessTypeContext": "Within their first year of trading",
        "fundingAmount": "12.50",
        "fundingAmountContext": "Specified %"
      }
    ]
  }
}

allFundTitles

Description

Returns all the possible Fund Titles. The main use of this query would be in a UI to present, for example, a drop down list of possible Fund Titles for the user to select.

Response

Returns [FundTitle!]!

Example

Query
query allFundTitles {
  allFundTitles {
    fundTitle
  }
}
Response
{
  "data": {
    "allFundTitles": [
      {"fundTitle": ["UK Shared Prosperity Fund", "Growth Guarantee Scheme"]}
    ]
  }
}

allFundingAmounts

Description

Returns all the possible Funding Amount ranges. The main use of this query would be in a UI to present, for example, a drop down list of possible Funding Amount ranges for the user to select.

Response

Returns [FundingAmount!]!

Example

Query
query allFundingAmounts {
  allFundingAmounts {
    id
    text
    min
    max
  }
}
Response
{
  "data": {
    "allFundingAmounts": [
      {"id": 5, "text": "£100,000 - £149,999", "min": 987, "max": 987}
    ]
  }
}

allFundingPurposes

Description

Returns all the possible funding purposes. The main use of this query would be in a UI to present, for example, a drop down list of possible funding purposes for the user to select.

Response

Returns [FundingPurpose!]!

Example

Query
query allFundingPurposes {
  allFundingPurposes {
    fundingPurpose
    fundingPurposeDefinition
  }
}
Response
{
  "data": {
    "allFundingPurposes": [
      {
        "fundingPurpose": "Business Innovation",
        "fundingPurposeDefinition": "Funding schemes are available for research and development related activities, from feasibility studies through to developing and testing a prototype."
      }
    ]
  }
}

allFundingTypes

Description

Returns all the possible Funding Types. The main use of this query would be in a UI to present, for example, a drop down list of possible Funding Types for the user to select.

Response

Returns [FundingType!]!

Example

Query
query allFundingTypes {
  allFundingTypes {
    fundingType
  }
}
Response
{"data": {"allFundingTypes": [{"fundingType": "Funding for Project Costs"}]}}

allGrants

Description

Returns all grants matching the given arguments. Note: This refers to grants as opposed to purposes (A grant is made up of 1 or more purposes).
When using the test API key this will always return the same grants regardless of the ID you pass in.

Response

Returns a GrantList

Arguments
Name Description
id - Int The internal ID of the grant
perPage - Int The number of results to return. This must be less than, or equal, to your subscription API total number of results per request (also returned in the x-api-max-results-per-request response header). If you are on an unlimted subscription then you can set this to a number less than or equal to the default of 25
currentPage - Int Which page of results to return. For limited API subscriptions this field has no effect and will always default to 1.
fundingType - [String] One or more of the funding types available in the allFundingTypes response e.g. Business Grants, Interest Free Loan, Equity Finance
fundTitle - [String] One or more of the fund titles available in the allFundTitles response e.g. UK Shared Prosperity Fund, Growth Guarantee Scheme
orderByDirection - String Results are currently ordered by the date they were added into the database (newest to oldest), we'll be adding more ordering options soon. The orderBy direction, either ASC (default) or DESC.
purposesWhere - PurposesWhereInput Purpose filters. Allows you to go in at the Grant level but also filter on specific Purpose fields. You can currently filter on the following Purpose fields: fundingPurposes, fundingAmountMin, fundingAmountMax, fundingAmount, sector, location, region and businessType.

Example

Query
query allGrants(
  $id: Int,
  $perPage: Int,
  $currentPage: Int,
  $fundingType: [String],
  $fundTitle: [String],
  $orderByDirection: String,
  $purposesWhere: PurposesWhereInput
) {
  allGrants(
    id: $id,
    perPage: $perPage,
    currentPage: $currentPage,
    fundingType: $fundingType,
    fundTitle: $fundTitle,
    orderByDirection: $orderByDirection,
    purposesWhere: $purposesWhere
  ) {
    totalResults
    totalResultsPerPage
    totalPages
    currentPage
    nextPage
    results {
      ...GrantFragment
    }
  }
}
Variables
{
  "id": 51,
  "perPage": 10,
  "currentPage": 5,
  "fundingType": "Business Grants",
  "fundTitle": ["abc123"],
  "orderByDirection": "DESC",
  "purposesWhere": {
    "fundingPurposes": ["Business Growth", "Business Innovation"],
    "fundTitle": ["UK Shared Prosperity Fund"],
    "subFundingPurposes": ["Job Creation", "Industrial Research"],
    "sector": ["Construction"]
  }
}
Response
{
  "data": {
    "allGrants": {
      "totalResults": 123,
      "totalResultsPerPage": 123,
      "totalPages": 987,
      "currentPage": 123,
      "nextPage": 123,
      "results": [Grant]
    }
  }
}

allLocations

Description

Returns all the possible locations down to town level. You should use this query instead of allRegions if you want a more complete list of UK places down to town level. The main use of this query would be in a UI to present, for example, a drop down list of possible locations for the user to select.

Response

Returns [Region!]!

Example

Query
query allLocations {
  allLocations {
    region
    regionType
    displayRegion
  }
}
Response
{
  "data": {
    "allLocations": [
      {
        "region": "East Midlands",
        "regionType": "nuts",
        "displayRegion": "Derbyshire"
      }
    ]
  }
}

allPurposes

Response

Returns a PurposeList

Arguments
Name Description
id - Int The ID of a single funding purpose. Equivalent to using the purpose(id: Int!) query.
fundingPurposes - [String] One or more of the funding purposes available in the allFundingPurposes response e.g. ["Buildings and Renovation", "Business Innovation"].
subFundingPurposes - [String] One or more of the sub funding purposes available in the allSubFundingPurposes response e.g. ["Building Refurbishment", "Business Growth Planning"].
region - String One of the regions available in the allRegions response e.g. North West, Scotland, Wales, South East
location - String Any UK location (country, region, city, town) e.g. England, North West, Glasgow, Dudley
locationOnly - Int If set to 1 then only grants that match the given location exactly will be returned, if 0 then those grants that also cover the given location will also be returned
sector - [String] One or more of the sectors available in the allSectors response e.g. Construction, Manufacturing
sectorOnly - Int If set to 1 then only grants that match the given sector exactly will be returned, if 0 then those grants that apply to All Sectors will also be returned
noEU - Int If set to 1 then European Commission grants will be removed from your results
businessType - String One of the business types available in the allBusinessTypes response e.g. Academic, Large Business, Medium Business, Start-ups
fundingAmount - Int One of the ID numbers available in the allFundingAmounts response that aligns with a range of funding amounts e.g. 5 - which represents the range £100,000 - £149,999. You can define your own minimum, maximum or both (your own range) by using the fundingAmountMin and fundingAmountMax fields instead.
fundingAmountMin - Int An integer representing the minimum funding amount - this, along with fundingAmountMax, is an alternative to using the pre-defined funding ranges in the fundingAmount field. If either fundingAmountMin or fundingAmountMax are specified then the fundingAmount field will be ignored if that is also specified. You can specify just a minimum, just a maximum, or both to define your own range.
fundingAmountMax - Int An integer representing the minimum funding amount - this, along with fundingAmountMin, is an alternative to using the pre-defined funding ranges in the fundingAmount field. If either fundingAmountMin or fundingAmountMax are specified then the fundingAmount field will be ignored if that is also specified. You can specify just a minimum, just a maximum, or both to define your own range.
withinRangeOnly - Int If fundingAmountMin and/or fundingAmountMax is specified and this value is set to 1 then purposes without a defined purposeSizeMin AND purposeSizeMax (both values are NULL or unspecified) will not be returned. Only purposes that have either a defined purposesSizeMin, a defined purposesSizeMax or both defined, that fall within the defied range will be returned.
maxCeiling - Int An integer hard upper limit on funding amount, used to filter out purposes whose theoretical maximum is far higher than the searched range. Only takes effect when fundingAmountMax (or fundingAmount, which sets a max under the hood) is also specified. When set, purposes that have a defined purposeSizeMax but no/zero/null purposeSizeMin are excluded if their purposeSizeMax is greater than or equal to maxCeiling. Purposes with both bounds defined, both bounds null, or a defined min with no max are not affected. Compared against raw purposeSizeMax, independent of any rangeMatchTolerance.
rangeMatchTolerance - Int Controls the percentage tolerance applied when matching purposes to a funding range, to surface results that fall just outside the requested bounds. When provided, the lower search bound is expanded downward and the upper search bound is expanded upward by the specified percentage before matching — for example, a value of 10 applied to a search range of £10,000–£50,000 would expand the effective search window to £9,000–£55,000. For min-only searches, a fan-out is also applied so that purposes with a minimum funding size greater than the expanded lower bound are included, ensuring larger open-ended grants are not missed. Accepts integer values between 5 and 50 (representing a percentage); values outside this range are clamped automatically. Defaults to 0 (no tolerance). Has no effect when withinRangeOnly is set to 1, which enforces a strict overlap check regardless of this value.
fundingType - [String] One or more of the funding types available in the allFundingTypes response e.g. Business Grants, Interest Free Loan, Equity Finance
fundTitle - [String] One or more of the fund titles available in the allFundTitles response e.g. UK Shared Prosperity Fund, Growth Guarantee Scheme
openOrClosed - [String] Only return those schemes that are in the given openOrClosed status i.e. Open, Opening or Closed
orderBy - String

Controls result ordering. Valid values: deadlineDate, purposeSizeMax, dateAdded, sector, region, location, fundingPurpose, subFundingPurpose, or "grantId, purposeId".

Default behaviour when omitted:

  • If sector is provided, orders by sector match relevance
  • If location is provided, orders by location match relevance
  • Otherwise orders by purposeSizeMax DESC (nulls last)

In all cases purposeSizeMax DESC (nulls last) is applied as a secondary sort, followed by grant ID ASC as a final tie-breaker.

Context-aware secondary sorts:

  • sector: when location is also provided, adds location relevance sort
  • location or region: when sector is also provided, adds sector sort
  • deadlineDate and purposeSizeMax: nulls are always sorted last
orderByDirection - String The orderBy direction, either ASC (default) or DESC
perPage - Int The number of results to return. This must be less than, or equal, to your subscription API total number of results per request (also returned in the x-api-max-results-per-request response header). If you are on an unlimited subscription then you can set this to a number less than or equal to the default of 25
currentPage - Int Which page of results to return. For limited API subscriptions this field has no effect and will always default to 1.
startDate - Int A Unix time stamp that when used in conjunction with endDate will only return grants added to the database within the given time frame
endDate - Int A Unix timestamp that when used in conjunction with startDate will only return grants added to the database within the given time frame
lastWeek - Boolean If set to true only grants added to the database in the last week, relative to the NOW() time, will be returned
deadlineStartDate - BigInt A Unix timestamp that when used in conjunction with deadlineEndDate will only return grants with a deadlineDate between deadlineStartDate and deadlineEndDate. Cannot be used in conjunction with startDate and endDate
deadlineEndDate - BigInt A Unix timestamp that when used in conjunction with deadlineStartDate will only return grants with a deadlineDate between deadlineStartDate and deadlineEndDate. Cannot be used in conjunction with startDate and endDate

Example

Query
query allPurposes(
  $id: Int,
  $fundingPurposes: [String],
  $subFundingPurposes: [String],
  $region: String,
  $location: String,
  $locationOnly: Int,
  $sector: [String],
  $sectorOnly: Int,
  $noEU: Int,
  $businessType: String,
  $fundingAmount: Int,
  $fundingAmountMin: Int,
  $fundingAmountMax: Int,
  $withinRangeOnly: Int,
  $maxCeiling: Int,
  $rangeMatchTolerance: Int,
  $fundingType: [String],
  $fundTitle: [String],
  $openOrClosed: [String],
  $orderBy: String,
  $orderByDirection: String,
  $perPage: Int,
  $currentPage: Int,
  $startDate: Int,
  $endDate: Int,
  $lastWeek: Boolean,
  $deadlineStartDate: BigInt,
  $deadlineEndDate: BigInt
) {
  allPurposes(
    id: $id,
    fundingPurposes: $fundingPurposes,
    subFundingPurposes: $subFundingPurposes,
    region: $region,
    location: $location,
    locationOnly: $locationOnly,
    sector: $sector,
    sectorOnly: $sectorOnly,
    noEU: $noEU,
    businessType: $businessType,
    fundingAmount: $fundingAmount,
    fundingAmountMin: $fundingAmountMin,
    fundingAmountMax: $fundingAmountMax,
    withinRangeOnly: $withinRangeOnly,
    maxCeiling: $maxCeiling,
    rangeMatchTolerance: $rangeMatchTolerance,
    fundingType: $fundingType,
    fundTitle: $fundTitle,
    openOrClosed: $openOrClosed,
    orderBy: $orderBy,
    orderByDirection: $orderByDirection,
    perPage: $perPage,
    currentPage: $currentPage,
    startDate: $startDate,
    endDate: $endDate,
    lastWeek: $lastWeek,
    deadlineStartDate: $deadlineStartDate,
    deadlineEndDate: $deadlineEndDate
  ) {
    totalResults
    totalResultsPerPage
    totalPages
    currentPage
    nextPage
    results {
      ...PurposeFragment
    }
  }
}
Variables
{
  "id": 28856,
  "fundingPurposes": ["Business Innovation", "Research and Development"],
  "subFundingPurposes": ["Job Creation", "Industrial Research"],
  "region": "North West",
  "location": "Birmingham",
  "locationOnly": 1,
  "sector": "Construction",
  "sectorOnly": 1,
  "noEU": 1,
  "businessType": "Medium Business",
  "fundingAmount": 5,
  "fundingAmountMin": 5000,
  "fundingAmountMax": 19000,
  "withinRangeOnly": 1,
  "maxCeiling": 1000000,
  "rangeMatchTolerance": 987,
  "fundingType": "Business Grants",
  "fundTitle": ["xyz789"],
  "openOrClosed": "Opening",
  "orderBy": "deadline_date",
  "orderByDirection": "DESC",
  "perPage": 10,
  "currentPage": 5,
  "startDate": 1698815564,
  "endDate": 1701407564,
  "lastWeek": "false",
  "deadlineStartDate": 1698815564,
  "deadlineEndDate": 1701407564
}
Response
{
  "data": {
    "allPurposes": {
      "totalResults": 355,
      "totalResultsPerPage": 987,
      "totalPages": 35,
      "currentPage": 4,
      "nextPage": 5,
      "results": ["An array of Purpose objects"]
    }
  }
}

allRegions

Description

Returns all the possible UK regions (North West, South West, East Midlands etc). If you want a more detailed list of UK locations, down to the town level, then use the allLocations query instead. The main use of this query would be in a UI to present, for example, a drop down list of possible regions for the user to select.

Response

Returns [Region!]!

Example

Query
query allRegions {
  allRegions {
    region
    regionType
    displayRegion
  }
}
Response
{
  "data": {
    "allRegions": [
      {
        "region": "East Midlands",
        "regionType": "nuts",
        "displayRegion": "Derbyshire"
      }
    ]
  }
}

allSectorSICCodes

Description

Provides a complete list of SIC codes and the sectors they belong to. You can filter the results by sic_code or sector, and choose how the list is ordered. Each result includes the SIC code, the sector name, and a clear description of what that SIC code covers. A single SIC code may appear under multiple sectors, such as 01110 appearing in Agriculture, Arable, and Food.

Response

Returns [SectorSICCode!]!

Arguments
Name Description
sicCode - String
sector - String
orderBy - SICCodeOrSector

Example

Query
query allSectorSICCodes(
  $sicCode: String,
  $sector: String,
  $orderBy: SICCodeOrSector
) {
  allSectorSICCodes(
    sicCode: $sicCode,
    sector: $sector,
    orderBy: $orderBy
  ) {
    sicCode
    sector
    sicDescription
  }
}
Variables
{"sicCode": "72110", "sector": "Biotechnology", "orderBy": "sic_code"}
Response
{
  "data": {
    "allSectorSICCodes": [
      {
        "sicCode": "72110",
        "sector": "Biotechnology",
        "sicDescription": "Research and experimental development on biotechnology"
      }
    ]
  }
}

allSectors

Description

Returns the full list of available sectors. Each sector has a title and also a higher level 'top level' grouping. For example the Software sector has a topLevel grouping of Information & Communication. The sectorOrTopLevel argument allows you to return either the list of sectors or the list of top level groupings, it defaults to the list of sectors.

Response

Returns [Sector!]!

Arguments
Name Description
sectorOrTopLevel - String Either the string 'sector' or 'topLevel' depending on if you want the list of sectors or top level groupings returned. Defaults to 'sector'.

Example

Query
query allSectors($sectorOrTopLevel: String) {
  allSectors(sectorOrTopLevel: $sectorOrTopLevel) {
    sector
    topLevel
  }
}
Variables
{"sectorOrTopLevel": "sector"}
Response
{
  "data": {
    "allSectors": [
      {"sector": "Advanced Manufacturing", "topLevel": "Manufacturing"}
    ]
  }
}

allSubFundingPurposes

Description

Returns all the possible sub funding purposes. The main use of this query would be in a UI to present, for example, a drop down list of possible sub funding purposes for the user to select.

Response

Returns [SubFundingPurpose!]!

Example

Query
query allSubFundingPurposes {
  allSubFundingPurposes {
    subFundingPurpose
    subFundingPurposeDefinition
    fundingPurpose
  }
}
Response
{
  "data": {
    "allSubFundingPurposes": [
      {
        "subFundingPurpose": "Research and Development",
        "subFundingPurposeDefinition": "Systematic, investigative work undertaken to create new knowledge, products, processes, or services, or to significantly improve existing ones, where the outcome involves a degree of scientific or technological uncertainty.",
        "fundingPurpose": "Business Innovation"
      }
    ]
  }
}

grant

Description

Returns a single grant if an id is passed otherwise up to 25 grants if a title is passed. Note: This refers to grants as opposed to purposes (A grant is made up of 1 or more purposes).
When using the test API key this will always return the same grant regardless of the ID you pass in.

Response

Returns [Grant!]!

Arguments
Name Description
id - Int The internal ID of the grant
title - String The title of the grant. This is used to perform a wildcard search of grant titles. For example, if you pass 'energy' as the grant title then a search for '%energy%' will be performed.
limit - Int When performing a title search this defines how many results to return. It defaults to, and has a maximum of, 25 grant results.

Example

Query
query grant(
  $id: Int,
  $title: String,
  $limit: Int
) {
  grant(
    id: $id,
    title: $title,
    limit: $limit
  ) {
    id
    url
    title
    openOrClosed
    currency
    totalFundSize
    totalFundSizeFormatted
    provider1
    provider2
    provider3
    provider4
    fundTitle
    fundingTypes {
      ...FundingTypeFragment
    }
    purposes {
      ...PurposeFragment
    }
    dateAdded
    lastChecked
    hasFundingRounds
    schemeManagerType
  }
}
Variables
{"id": "32597", "title": "Restless Egg Artist Accelerator", "limit": "5"}
Response
{
  "data": {
    "grant": [
      {
        "id": 29012,
        "url": "https://www.rctcbc.gov.uk/EN/Business/BusinessandThirdSectorGrants/TownCentreMinorImprovementsGrant.aspx",
        "title": "Town Centre Minor Improvements Grant",
        "openOrClosed": "open",
        "currency": "£",
        "totalFundSize": "3000000",
        "totalFundSizeFormatted": "3,000,000",
        "provider1": "Rhondda Cynon Taf County Borough Council",
        "provider2": "",
        "provider3": "",
        "provider4": "",
        "fundTitle": "xyz789",
        "fundingTypes": [
          {"fundingType": "Business Grant"},
          {"fundingType": "Equity Finance"}
        ],
        "purposes": [Purpose],
        "dateAdded": "2025-04-29",
        "lastChecked": "2007-12-03T10:15:30Z",
        "hasFundingRounds": 123,
        "schemeManagerType": "abc123"
      }
    ]
  }
}

grantsHistory

Description

RESTRICTED: This query is only available to those on the Grants Update package. For help email: support@xsortal.com. Returns the grants history for the given date(s). If no startDate or endDate is passed in then the current day is used by default. If a single startDate is passed in then all history entries for the previous 24 hours relative to that date are returned. If both a startDate and an endDate are passed in the all history entries between those two dates (inclusive) are returned. A grant history entry shows any grant that changed on the given date where a change can be New (a newly added grant), Removed (it's been removed from the database), Re-added (it's been added back into the database after being removed) or Updated (1 or more of it's fields have been updated)

Response

Returns a History!

Arguments
Name Description
startDate - DateInput The start date of the list of history entries to get in the YYYY-MM-DD format, for example 2024-11-25. The range between startDate and endDate must not exceed 3 days (inclusive).
endDate - DateInput The end date of the list of history entries to get in the YYYY-MM-DD format, for example 2024-11-27. The range between startDate and endDate must not exceed 3 days (inclusive).

Example

Query
query grantsHistory(
  $startDate: DateInput,
  $endDate: DateInput
) {
  grantsHistory(
    startDate: $startDate,
    endDate: $endDate
  ) {
    historyStartDate
    historyEndDate
    runStatus
    totalChanges
    history {
      ...GrantHistoryFragment
    }
  }
}
Variables
{"startDate": "2024-11-24", "endDate": "2024-11-28"}
Response
{
  "data": {
    "grantsHistory": {
      "historyStartDate": "2024-11-24",
      "historyEndDate": "2024-11-28",
      "runStatus": "Complete",
      "totalChanges": 6,
      "history": [GrantHistory]
    }
  }
}

overallTotals

Description

Returns a response containing the overall totals of the database content. E.g. the total number of grants in the database, the total amount of funding available across the total grants, how many grants were added to the database in the last month.

Response

Returns an OverallTotals!

Example

Query
query overallTotals {
  overallTotals {
    totalSchemes
    totalAvailableFormatted
    totalFundingPurposes
    totalAddedLastMonth
  }
}
Response
{
  "data": {
    "overallTotals": {
      "totalSchemes": "2613",
      "totalAvailableFormatted": "£4.3bn",
      "totalFundingPurposes": "10",
      "totalAddedLastMonth": "214"
    }
  }
}

purpose

Description

Returns a single purpose as opposed to a frant. Note: A grant is made up of 1 or more purposes and a purpose is what a end-user would apply for. In most cases you would be presenting purpose(s) to an end-user rather than a grant.
When using the test API key this will always return the same purpose regardless of the ID you pass in.

Response

Returns a Purpose!

Arguments
Name Description
id - Int! The ID of the Purpose

Example

Query
query purpose($id: Int!) {
  purpose(id: $id) {
    id
    grantId
    fundingPurpose
    fundingPurposeDefinition
    subFundingPurposes {
      ...SubFundingPurposeFragment
    }
    purposeTitle
    purposeUrl
    purposeApplicationUrl
    purposeSizeMin
    purposeSizeMinFormatted
    purposeSizeMinContext
    purposeSizeMax
    purposeSizeMaxFormatted
    purposeSizeMaxContext
    purposeTotalSize
    purposeDescription
    purposeDates
    purposeRegionIsUK
    deadlineDate
    dateAdded
    grant {
      ...GrantFragment
    }
    sectors {
      ...SectorFragment
    }
    regions {
      ...RegionFragment
    }
    businessTypes {
      ...BusinessTypeFragment
    }
  }
}
Variables
{"id": 987}
Response
{
  "data": {
    "purpose": {
      "id": 12345,
      "grantId": 29012,
      "fundingPurpose": "Business Growth",
      "fundingPurposeDefinition": "Support for activities that help a business expand or scale.",
      "subFundingPurposes": [
        {
          "subFundingPurpose": "Equipment Purchase",
          "subFundingPurposeDefinition": "Funding to acquire new machinery or tools."
        },
        {
          "subFundingPurpose": "Premises Improvement",
          "subFundingPurposeDefinition": "Support for upgrades to business premises."
        }
      ],
      "purposeTitle": "Support for Capital Investment",
      "purposeUrl": "https://example.com/grant-purpose",
      "purposeApplicationUrl": "https://example.com/apply-now",
      "purposeSizeMin": 5000,
      "purposeSizeMinFormatted": "£5,000",
      "purposeSizeMinContext": "abc123",
      "purposeSizeMax": 25000,
      "purposeSizeMaxFormatted": "£25,000",
      "purposeSizeMaxContext": "xyz789",
      "purposeTotalSize": {},
      "purposeDescription": "Funding available for businesses seeking to invest in equipment or premises improvements.",
      "purposeDates": "Open for applications: 2nd September 2026",
      "purposeRegionIsUK": 1,
      "deadlineDate": 1719870400,
      "dateAdded": "2025-04-29",
      "grant": {"id": 29012, "title": "Town Centre Minor Improvements Grant"},
      "sectors": [{"sector": "Retail"}, {"sector": "Hospitality"}],
      "regions": [{"region": "North West"}, {"region": "North East"}],
      "businessTypes": [
        {"businessType": "Small Business"},
        {"businessType": "Medium Business"}
      ]
    }
  }
}

relatedGrants

Description

Returns up to a maximum of 10 related purposes in random order. It first finds the grant matching the requested id or title, then returns related purposes by finding purposes that match the sectors and funding purposes of the original grants purposes.

Response

Returns [Purpose!]!

Arguments
Name Description
id - Int The id of the grant with which to find related grants
limit - Int

Example

Query
query relatedGrants(
  $id: Int,
  $limit: Int
) {
  relatedGrants(
    id: $id,
    limit: $limit
  ) {
    id
    grantId
    fundingPurpose
    fundingPurposeDefinition
    subFundingPurposes {
      ...SubFundingPurposeFragment
    }
    purposeTitle
    purposeUrl
    purposeApplicationUrl
    purposeSizeMin
    purposeSizeMinFormatted
    purposeSizeMinContext
    purposeSizeMax
    purposeSizeMaxFormatted
    purposeSizeMaxContext
    purposeTotalSize
    purposeDescription
    purposeDates
    purposeRegionIsUK
    deadlineDate
    dateAdded
    grant {
      ...GrantFragment
    }
    sectors {
      ...SectorFragment
    }
    regions {
      ...RegionFragment
    }
    businessTypes {
      ...BusinessTypeFragment
    }
  }
}
Variables
{"id": 987, "limit": 987}
Response
{
  "data": {
    "relatedGrants": [
      {
        "id": 12345,
        "grantId": 29012,
        "fundingPurpose": "Business Growth",
        "fundingPurposeDefinition": "Support for activities that help a business expand or scale.",
        "subFundingPurposes": [
          {
            "subFundingPurpose": "Equipment Purchase",
            "subFundingPurposeDefinition": "Funding to acquire new machinery or tools."
          },
          {
            "subFundingPurpose": "Premises Improvement",
            "subFundingPurposeDefinition": "Support for upgrades to business premises."
          }
        ],
        "purposeTitle": "Support for Capital Investment",
        "purposeUrl": "https://example.com/grant-purpose",
        "purposeApplicationUrl": "https://example.com/apply-now",
        "purposeSizeMin": 5000,
        "purposeSizeMinFormatted": "£5,000",
        "purposeSizeMinContext": "xyz789",
        "purposeSizeMax": 25000,
        "purposeSizeMaxFormatted": "£25,000",
        "purposeSizeMaxContext": "xyz789",
        "purposeTotalSize": {},
        "purposeDescription": "Funding available for businesses seeking to invest in equipment or premises improvements.",
        "purposeDates": "Open for applications: 2nd September 2026",
        "purposeRegionIsUK": 1,
        "deadlineDate": 1719870400,
        "dateAdded": "2025-04-29",
        "grant": {"id": 29012, "title": "Town Centre Minor Improvements Grant"},
        "sectors": [{"sector": "Retail"}, {"sector": "Hospitality"}],
        "regions": [{"region": "North West"}, {"region": "North East"}],
        "businessTypes": [
          {"businessType": "Small Business"},
          {"businessType": "Medium Business"}
        ]
      }
    ]
  }
}

Types

BigInt

Example
{}

Boolean

Description

The Boolean scalar type represents true or false.

BusinessType

Description

The type of business. For example, Small Business, Medium Business, Large Business, Academic.

Fields
Field Name Description
businessType - String! The type of business
businessTypeContext - String The context for the businessType. For example, if the businessType is 'Start-ups' then the context could be 'Within their first year of trading'.
fundingAmount - String Any specific funding amount percentage related to the business type
fundingAmountContext - String The context of the fundingAmount. For example, if the fundingAmount is'55' then the context could be 'Specified %' meaning the business type can get 55% of the money. The possible values are 'Not Specified','Specified %','Up to','Less than' or blank if there are no specific contexts.
Example
{
  "businessType": "Medium Business",
  "businessTypeContext": "Within their first year of trading",
  "fundingAmount": "12.50",
  "fundingAmountContext": "Specified %"
}

DateInput

Description

A date in YYYY-MM-DD format, for example 2024-11-25

Example
"2024-11-25"

DateTime

Description

An ISO 8601 datetime string

Example
"2007-12-03T10:15:30Z"

FundTitle

Description

The grant fund title. For example, UK Shared Prosperity Fund, Growth Guarantee Scheme.

Fields
Field Name Description
fundTitle - String The fund title
Example
{"fundTitle": ["UK Shared Prosperity Fund", "Growth Guarantee Scheme"]}

FundingAmount

Description

A funding amount represented by an id and a textual representation of the range. For example, id:4 text:£50,000 - £99,999

Fields
Field Name Description
id - Int! The id of the funding amount
text - String! The textual representation of the funding amount range
min - Int! The integer value of the minimum amount for this range
max - Int! The integer value of the maximum amount for this range
Example
{"id": 5, "text": "£100,000 - £149,999", "min": 123, "max": 123}

FundingPurpose

Description

A funding purpose is the purpose the available money can be used for.

Fields
Field Name Description
fundingPurpose - String! The funding purpose. For example, Business Growth, Business Innovation, Starting a Business
fundingPurposeDefinition - String! The funding purpose definition
Example
{
  "fundingPurpose": "Business Innovation",
  "fundingPurposeDefinition": "Funding schemes are available for research and development related activities, from feasibility studies through to developing and testing a prototype."
}

FundingType

Description

The type of funding being offered. For example, Interest Free Loan, Funding for Project Costs, Equity Finance, Business Grants.

Fields
Field Name Description
fundingType - String! A string containing the funding type
Example
{"fundingType": "Funding for Project Costs"}

Grant

Description

The Grant type represents a single grant (as opposed to a purpose - grants are broken down into 1 or more purposes).

Fields
Field Name Description
id - Int! The internal ID number of the grant
url - String! The URL of the grant page. This may or may not be the same as the application URL that appears in the Purpose type below
title - String! The title of the grant
openOrClosed - String! The status of the grant - can be open, opening or closing.
currency - String The currency of the all the various funding amount fields in both the grant and it's purposes. For example, £, $, €
totalFundSize - String The total amount of money available. This may be split across the grants various purposes. For example, 10000000
totalFundSizeFormatted - String The totalFundSize above number formatted. For example, 10,000,000
provider1 - String! The main provider of this grant. For example, Innovate UK
provider2 - String Quite often a grant has multiple providers. Providers 2, 3 and 4 below list those. For example, Gwynedd Council.
provider3 - String
provider4 - String
fundTitle - String The fund title. For example UK Shared Prosperity Fund, Growth Guarantee Scheme.
fundingTypes - [FundingType] A list of the FundingTypes available. For example, Business Grants, Interest Free Loan.
purposes - [Purpose] A list of 1 or more Purposes (click here to view the Purpose definition). A user applies for the money at the purpose level.
dateAdded - DateTime! An ISO 8601 datetime string of the date the grant was added to the grants database
lastChecked - DateTime An ISO 8601 datetime string of the date the grant was last checked
hasFundingRounds - Int! Does this grant have funding rounds? 1=Yes, 0=No
schemeManagerType - String! The Scheme Manager type. For example, Government Department, Trade Associations, Banks.
Example
{
  "id": 29012,
  "url": "https://www.rctcbc.gov.uk/EN/Business/BusinessandThirdSectorGrants/TownCentreMinorImprovementsGrant.aspx",
  "title": "Town Centre Minor Improvements Grant",
  "openOrClosed": "open",
  "currency": "£",
  "totalFundSize": "3000000",
  "totalFundSizeFormatted": "3,000,000",
  "provider1": "Rhondda Cynon Taf County Borough Council",
  "provider2": "",
  "provider3": "",
  "provider4": "",
  "fundTitle": "xyz789",
  "fundingTypes": [
    {"fundingType": "Business Grant"},
    {"fundingType": "Equity Finance"}
  ],
  "purposes": [Purpose],
  "dateAdded": "2025-04-29",
  "lastChecked": "2007-12-03T10:15:30Z",
  "hasFundingRounds": 123,
  "schemeManagerType": "abc123"
}

GrantHistory

Description

Represents a grant history entry. The change_type can be:

  • New - The grant has been newly added and has never been seen before
  • Updated - One or more of the grants fields has been updated
  • Removed - Under Review - This grant has been temporarily removed from the database and is currently under review — for instance, it may have been flagged as a broken link. Grants under review may or may not be re-added to the database at a later date
  • Removed - Duplicate of - The grant has been removed as it is a duplicate of another grant. The grant ID it is a duplicate of will be appended to the end, for example "Removed - Duplicate of 13556"
  • Removed - Closed - The grant has been removed as its deadline date(s) have now passed
  • Re-added - The grant has been re-added back into the database after being removed at some point
Fields
Field Name Description
grantId - Int! The id of the grant
changeDate - String! The date the change occurred in YYYY-MM-DD format
changeType - String! The type of change. Can be New, Removed, Re-added or Updated.
grant - Grant The full grant details, equivalent to running the grant query for this grantId. Will be null for entries whose changeType starts with 'Removed - ' since those grants are no longer in the database.
Example
{
  "grantId": 12899,
  "changeDate": "abc123",
  "changeType": "Updated",
  "grant": Grant
}

GrantList

Fields
Field Name Description
totalResults - Int!
totalResultsPerPage - Int!
totalPages - Int!
currentPage - Int!
nextPage - Int!
results - [Grant!]!
Example
{
  "totalResults": 987,
  "totalResultsPerPage": 123,
  "totalPages": 987,
  "currentPage": 987,
  "nextPage": 987,
  "results": [Grant]
}

History

Fields
Field Name Description
historyStartDate - String! The start date of the history check
historyEndDate - String! The end date of the history check
runStatus - String! The status of overnight job that checks for grant changes. Can be 'Complete' or 'Not yet run'.
totalChanges - Int! The total number of grants that had a change in the given date range or day.
history - [GrantHistory!]! An array of the grants that had a change.
Example
{
  "historyStartDate": "2024-11-24",
  "historyEndDate": "2024-11-28",
  "runStatus": "Complete",
  "totalChanges": 6,
  "history": [GrantHistory]
}

Int

Description

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

Example
987

OverallTotals

Description

Returns the overall database totals

Fields
Field Name Description
totalSchemes - Int! Total number of Schemes in the result set
totalAvailableFormatted - String! The total amount of funding available as a formatted string
totalFundingPurposes - Int! The total number of funding purposes
totalAddedLastMonth - Int! The total number of schemes added in the last month
Example
{
  "totalSchemes": "2613",
  "totalAvailableFormatted": "£4.3bn",
  "totalFundingPurposes": "10",
  "totalAddedLastMonth": "214"
}

Purpose

Description

A single funding purpose. A single grant can have 1 or more funding purposes. For example a grant maybe available for Business Innovation and also Business Growth. This type represents one of those funding purposes.

Fields
Field Name Description
id - Int! The internal ID of this purpose
grantId - Int! The internal ID of the parent grant that this purpose belongs to. Equivalent to running the grant query with this id.
fundingPurpose - String! The funding purpose this represents. For example, Business Growth, Business Innovation, Starting a Business.
fundingPurposeDefinition - String A plain English definition of the fundingPurpose.
subFundingPurposes - [SubFundingPurpose!]! A list of the more fine-grained sub funding purposes associated with this purpose. For example, Job Creation, Working Capital, Energy Efficient Equipment.
purposeTitle - String! The title of the purpose, as it would typically be displayed to an end-user.
purposeUrl - String The URL of the page describing this purpose. May be the same as purposeApplicationUrl, or may differ if the application is hosted elsewhere.
purposeApplicationUrl - String The URL an applicant should use to apply for this purpose. May or may not be the same as purposeUrl.
purposeSizeMin - BigInt The minimum funding amount available for this purpose, as an integer in the grant's currency. May be null if no minimum has been specified.
purposeSizeMinFormatted - String The purposeSizeMin value formatted as a string with thousands separators. For example, 10,000.
purposeSizeMinContext - String The context, if any, of the purposeSizeMin e.g. Guarantee lasting 5 years
purposeSizeMax - BigInt The maximum funding amount available for this purpose, as an integer in the grant's currency. May be null if no maximum has been specified.
purposeSizeMaxFormatted - String The purposeSizeMax value formatted as a string with thousands separators. For example, 50,000.
purposeSizeMaxContext - String The context, if any, of the purposeSizeMin e.g. 70% of £60 million project costs
purposeTotalSize - BigInt The total size of the pot of money available for this purpose, as an integer in the grant's currency. Returns 0 if the total pot size is not known or not applicable.
purposeDescription - String A free-text description of the purpose.
purposeDates - String The key dates such as Start Date for Application, Application Deadline, or Ongoing for those grants with no specified dates
purposeRegionIsUK - Int Does this grant cover the whole of the UK (1) or not (0)
deadlineDate - DateTime An ISO 8601 datetime string of the deadline date by which an application must be submitted. May be null if there is no fixed deadline.
dateAdded - DateTime An ISO 8601 datetime string of the date this purpose was added to the database.
grant - Grant! The full parent Grant this purpose belongs to. Equivalent to running the grant query for grantId.
sectors - [Sector!]! The list of sectors this purpose applies to. For example, Construction, Manufacturing.
regions - [Region!]! The list of regions this purpose applies to. For example, North West, Scotland.
businessTypes - [BusinessType!]! The list of business types this purpose is available to. For example, Small Business, Start-ups, Academic.
Example
{
  "id": 12345,
  "grantId": 29012,
  "fundingPurpose": "Business Growth",
  "fundingPurposeDefinition": "Support for activities that help a business expand or scale.",
  "subFundingPurposes": [
    {
      "subFundingPurpose": "Equipment Purchase",
      "subFundingPurposeDefinition": "Funding to acquire new machinery or tools."
    },
    {
      "subFundingPurpose": "Premises Improvement",
      "subFundingPurposeDefinition": "Support for upgrades to business premises."
    }
  ],
  "purposeTitle": "Support for Capital Investment",
  "purposeUrl": "https://example.com/grant-purpose",
  "purposeApplicationUrl": "https://example.com/apply-now",
  "purposeSizeMin": 5000,
  "purposeSizeMinFormatted": "£5,000",
  "purposeSizeMinContext": "abc123",
  "purposeSizeMax": 25000,
  "purposeSizeMaxFormatted": "£25,000",
  "purposeSizeMaxContext": "xyz789",
  "purposeTotalSize": {},
  "purposeDescription": "Funding available for businesses seeking to invest in equipment or premises improvements.",
  "purposeDates": "Open for applications: 2nd September 2026",
  "purposeRegionIsUK": 1,
  "deadlineDate": 1719870400,
  "dateAdded": "2025-04-29",
  "grant": {"id": 29012, "title": "Town Centre Minor Improvements Grant"},
  "sectors": [{"sector": "Retail"}, {"sector": "Hospitality"}],
  "regions": [{"region": "North West"}, {"region": "North East"}],
  "businessTypes": [
    {"businessType": "Small Business"},
    {"businessType": "Medium Business"}
  ]
}

PurposeList

Fields
Field Name Description
totalResults - Int!
totalResultsPerPage - Int!
totalPages - Int!
currentPage - Int!
nextPage - Int!
results - [Purpose!]!
Example
{
  "totalResults": 355,
  "totalResultsPerPage": 987,
  "totalPages": 35,
  "currentPage": 4,
  "nextPage": 5,
  "results": ["An array of Purpose objects"]
}

PurposesWhereInput

Fields
Input Field Description
fundingPurposes - [String] Only return those Grants that have at least one Purpose with the given funding purpose(s)
subFundingPurposes - [String] Only return those Grants that have at least one Purpose with the given sub funding purpose(s)
fundingType - [String] One of the funding types available in the allFundingTypes response e.g. Business Grants, Interest Free Loan, Equity Finance
fundingAmountMin - Int An integer representing the minimum funding amount - this, along with fundingAmountMax, is an alternative to using the pre-defined funding ranges in the fundingAmount field. If either fundingAmountMin or fundingAmountMax are specified then the fundingAmount field will be ignored if that is also specified. You can specify just a minimum, just a maximum, or both to define your own range.
fundingAmountMax - Int An integer representing the minimum funding amount - this, along with fundingAmountMin, is an alternative to using the pre-defined funding ranges in the fundingAmount field. If either fundingAmountMin or fundingAmountMax are specified then the fundingAmount field will be ignored if that is also specified. You can specify just a minimum, just a maximum, or both to define your own range.
withinRangeOnly - Int If fundingAmountMin and/or fundingAmountMax is specified and this value is set to 1 then purposes without a defined purposeSizeMin AND purposeSizeMax (both values are NULL or unspecified) will not be returned. Only purposes that have either a defined purposesSizeMin, a defined purposesSizeMax or both defined, that fall within the defied range will be returned.
maxCeiling - Int An integer hard upper limit on funding amount, used to filter out grants whose theoretical maximum is far higher than the searched range. Only takes effect when fundingAmountMax (or fundingAmount, which sets a max under the hood) is also specified. When set, purposes that have a defined purposeSizeMax but no/zero/null purposeSizeMin are excluded if their purposeSizeMax is greater than or equal to maxCeiling. Purposes with both bounds defined, both bounds null, or a defined min with no max are not affected.
fundingAmount - Int One of the ID numbers available in the allFundingAmounts response that aligns with a range of funding amounts e.g. 5 - which represents the range £100,000 - £149,999. You can define your own minimum, maximum or both (your own range) by using the fundingAmountMin and fundingAmountMax fields instead.
sector - [String] One or more of the sectors available in the allSectors response e.g. Construction, Manufacturing
location - String Any UK location (country, region, city, town) e.g. England, North West, Glasgow, Dudley
region - String One of the regions available in the allRegions response e.g. North West, Scotland, Wales, South East
businessType - String One of the business types available in the allBusinessTypes response e.g. Academic, Large Business, Medium Business, Start-ups
locationOnly - Int If set to 1 then only grants that match the given location exactly will be returned, if 0 then those grants that also cover the given location will also be returned
Example
{
  "fundingPurposes": ["Business Innovation", "Business Growth"],
  "subFundingPurposes": ["Job Creation", "Industrial Research"],
  "fundingType": ["Business Grants"],
  "fundingAmountMin": 50000,
  "fundingAmountMax": 200000,
  "withinRangeOnly": 1,
  "maxCeiling": 1000000,
  "fundingAmount": 4,
  "sector": ["Construction", "Manufacturing"],
  "location": "Warrington",
  "region": "North West",
  "businessType": "Small Business",
  "locationOnly": 1
}

Region

Description

Each region is additionally assigned to it's parent regions using the hierarchy of UK places. For example, when we assign a grant to the Oldham District it will also be automatically assigned to Greater Manchester, North West and England so this grant will also be returned when a user searches for grants in the North West. You can determine the grants original region assignment, in this example Oldham District, as the region will equal the display_region.

Fields
Field Name Description
region - String! The title of the region. Some of these regions will have been automatically assigned using the hierarchy of UK places.
regionType - String! The type of region. For example, country, county, city, nuts, lga or town.
displayRegion - String! The region string that should be displayed to the end user.
Example
{"region": "East Midlands", "regionType": "nuts", "displayRegion": "Derbyshire"}

SICCodeOrSector

Values
Enum Value Description

SIC_CODE

SECTOR

Example
"SIC_CODE"

Sector

Description

Returns a single Sector. Each Sector has a title and a higher level 'top level' assignment. For example, the 'Food' sector is assigned to the top_level grouping of 'Manufacturing'.

Fields
Field Name Description
sector - String The title of the sector
topLevel - String The higher level sector grouping
Example
{"sector": "Advanced Manufacturing", "topLevel": "Manufacturing"}

SectorSICCode

Description

Returns a single SIC entry, showing the SIC code, the sector it’s linked to, and a plain-English description of the activity that code refers to.

Fields
Field Name Description
sicCode - String
sector - String
sicDescription - String
Example
{
  "sicCode": "72110",
  "sector": "Biotechnology",
  "sicDescription": "Research and experimental development on biotechnology"
}

String

Description

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

Example
"abc123"

SubFundingPurpose

Description

A sub funding purpose is a more fine-grained funding purpose the available money can be used for.

Fields
Field Name Description
subFundingPurpose - String! The funding purpose. For example, Energy Efficient Equipment, Job Creation, Working Capital.
subFundingPurposeDefinition - String! The sub funding purpose definition.
fundingPurpose - String! The parent funding purpose. For example, Business Growth, Business Innovation, Starting a Business
Example
{
  "subFundingPurpose": "Research and Development",
  "subFundingPurposeDefinition": "Systematic, investigative work undertaken to create new knowledge, products, processes, or services, or to significantly improve existing ones, where the outcome involves a degree of scientific or technological uncertainty.",
  "fundingPurpose": "Business Innovation"
}