Documentation menu
Docs / Reference / Search federal grants and contributions

Search federal grants and contributions

GET/grant

Parameters

ParameterTypeDescription
qstringoptionalFull-text search across data fields. Space-separated words require all terms (e.g. "wood panel"). Use OR to match any term ("wood OR panel OR acoustic"), quotes for exact phrases ("supply arrangement"), and a leading minus to exclude ("software -hardware").
departmentstringoptionalFilter by department name (partial match, EN or FR)
recipient_namestringoptionalGrant recipient name (partial match)
agreement_typestringoptionalAgreement type: grant, contribution, other
programstringoptionalProgram name (partial match, grant)
program_exactstringoptionalProgram name (exact match, grant). Faster than program= for known names.
recipient_provincestringoptionalRecipient province (grant)
government_levelstringoptionalLevel of government: federal, provincial, municipal, territorial
value_minnumberoptionalMinimum contract value (numeric)
value_maxnumberoptionalMaximum contract value (numeric)
issued_afterstringoptionalFilter by date >= YYYY-MM-DD (start_date for grants, approved_date for infrastructure, fiscal_year for research). Aliases: date_from, date_after
issued_beforestringoptionalFilter by date <= YYYY-MM-DD. Aliases: date_to, date_before
sort_bystringoptionalSort field: published (publication_date for tenders, award_date for contracts), date (event date), value (contract/agreement value), closing (closing_date for tenders)
sort_orderstringoptionalSort order: asc or desc
limitintegeroptional
offsetintegeroptional
cursorstringoptionalPagination cursor from next_cursor in a previous response. Use instead of offset for deep pagination.

Request

curl --request GET \
  --url 'https://grantdata-canadian-government-grants-api.p.rapidapi.com/grant' \
  --header 'x-rapidapi-host: grantdata-canadian-government-grants-api.p.rapidapi.com' \
  --header 'x-rapidapi-key: YOUR_RAPIDAPI_KEY'
import requests

url = "https://grantdata-canadian-government-grants-api.p.rapidapi.com/grant"
headers = {"x-rapidapi-host": "grantdata-canadian-government-grants-api.p.rapidapi.com", "x-rapidapi-key": "YOUR_RAPIDAPI_KEY"}
resp = requests.get(url, headers=headers)
print(resp.json())
const res = await fetch("https://grantdata-canadian-government-grants-api.p.rapidapi.com/grant", {
  headers: {
    "x-rapidapi-host": "grantdata-canadian-government-grants-api.p.rapidapi.com",
    "x-rapidapi-key": "YOUR_RAPIDAPI_KEY",
  },
});
const data = await res.json();
console.log(data);
<?php
$ch = curl_init("https://grantdata-canadian-government-grants-api.p.rapidapi.com/grant");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "x-rapidapi-host: grantdata-canadian-government-grants-api.p.rapidapi.com",
    "x-rapidapi-key: YOUR_RAPIDAPI_KEY",
]);
echo curl_exec($ch);
require "net/http"
require "uri"

uri = URI("https://grantdata-canadian-government-grants-api.p.rapidapi.com/grant")
req = Net::HTTP::Get.new(uri)
req["x-rapidapi-host"] = "grantdata-canadian-government-grants-api.p.rapidapi.com"
req["x-rapidapi-key"] = "YOUR_RAPIDAPI_KEY"
res = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) { |h| h.request(req) }
puts res.body
package main

import (
    "fmt"
    "io"
    "net/http"
)

func main() {
    req, _ := http.NewRequest("GET", "https://grantdata-canadian-government-grants-api.p.rapidapi.com/grant", nil)
    req.Header.Add("x-rapidapi-host", "grantdata-canadian-government-grants-api.p.rapidapi.com")
    req.Header.Add("x-rapidapi-key", "YOUR_RAPIDAPI_KEY")
    res, _ := http.DefaultClient.Do(req)
    defer res.Body.Close()
    body, _ := io.ReadAll(res.Body)
    fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.*;

HttpRequest req = HttpRequest.newBuilder()
    .uri(URI.create("https://grantdata-canadian-government-grants-api.p.rapidapi.com/grant"))
    .header("x-rapidapi-host", "grantdata-canadian-government-grants-api.p.rapidapi.com")
    .header("x-rapidapi-key", "YOUR_RAPIDAPI_KEY")
    .build();
HttpResponse<String> res = HttpClient.newHttpClient()
    .send(req, HttpResponse.BodyHandlers.ofString());
System.out.println(res.body());

Example response

{
  "entity_type": "grant",
  "count": 1,
  "offset": 0,
  "results": [
    {
      "record_id": "ASC-25/26-070-C",
      "recipient_legal_name": "Canadian Standards Association",
      "department": "Accessibility Standards Canada",
      "program_en": "Advancing Accessibility Standards Research",
      "program_fr": "Avancement de la recherche sur les normes d'accessibilit\u00e9",
      "agreement_type": "contribution",
      "agreement_value": 79365.0,
      "start_date": "2020-03-23",
      "end_date": "2021-02-19",
      "recipient_province": "ON",
      "recipient_city": "Toronto"
    }
  ]
}
Ready to build?Subscribe on RapidAPI to get your key and start calling GrantData in minutes.
Get your API key →