GrantData API Documentation
Canadian government grants and research funding API. Federal proactive disclosure, Infrastructure Canada projects, NSERC and SSHRC research grants. Filter by department, recipient, program, agreement type, value.
Documentation menu
Getting started
QuickstartQuickstart
Three steps to your first call:
- Subscribe on RapidAPI and copy your key (there is a free tier).
- Call the base URL
https://grantdata-canadian-government-grants-api.p.rapidapi.comwith your key in the headers. - Parse the JSON response.
curl --request GET \
--url 'https://grantdata-canadian-government-grants-api.p.rapidapi.com/department/NAME' \
--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/department/NAME"
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/department/NAME", {
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/department/NAME");
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/department/NAME")
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.bodypackage main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://grantdata-canadian-government-grants-api.p.rapidapi.com/department/NAME", 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/department/NAME"))
.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());Guides
Getting started and authenticationGet an API key and make your first authenticated call in under five minutes.Filtering, search and paginationNarrow results with filters and full-text search, and page through large result sets.Export results to CSV or a spreadsheetPull records across pages and write them to a CSV you can open in Excel or Sheets.Monitor new recordsPoll for records added since your last check and act on them automatically.
Endpoint reference
Every GrantData route. Click through for parameters, examples and a sample response.
GET/department/{name}Department procurement profileGET/recipient/{name}Grant recipient profileGET/grantSearch federal grants and contributionsGET/infrastructure_projectSearch Infrastructure Canada projectsGET/research_grantSearch NSERC and SSHRC research grantsGET/grant/statsGrant statisticsGET/infrastructure_project/statsInfrastructure project statisticsGET/research_grant/statsResearch grant statisticsGET/grant/{record_id}Get grant by IDGET/infrastructure_project/{record_id}Get infrastructure project by IDGET/research_grant/{record_id}Get research grant by ID
Ready to build?Subscribe on RapidAPI to get your key and start calling GrantData in minutes.
Get your API key →