API CRSNG : interroger les subventions de recherche par programmation
Le Conseil de recherches en sciences naturelles et en génie (CRSNG) finance la recherche en sciences naturelles et en génie partout au Canada. Il publie chaque subvention attribuée, mais ces données vivent dans un portail de recherche conçu pour la consultation au cas par cas. Il n'existe pas d'API REST publique, et les fichiers ouverts changent de structure d'une année à l'autre.
GrantData expose ces données par une API REST propre : les subventions de recherche du CRSNG et du CRSH, normalisées vers un schéma constant, interrogeables par programme, établissement, ministère, mot-clé, date et montant. La couverture est actualisée chaque semaine.
Pourquoi le portail du CRSNG devient pénible à grande échelle
Le portail web du CRSNG fonctionne bien pour une vérification ponctuelle. Il s'effondre dès qu'il faut extraire les données de façon systématique : pour un tableau de bord de financement, un outil de veille concurrentielle, un agent conversationnel, ou simplement une feuille de calcul des subventions à la découverte d'un établissement sur dix ans.
Portail du CRSNG
- Aucune API REST, aucune pagination
- Fichiers ouverts à colonnes incohérentes d'une année à l'autre
- Noms de programmes et d'établissements non normalisés
- Pas de recherche plein texte sur les descriptions
- Difficile de relier un chercheur à l'ensemble de ses subventions
API GrantData
- API REST, réponses JSON, pagination par curseur
- Schéma normalisé, constant d'une année à l'autre
- Filtres par programme, ministère, montant et date
- Recherche plein texte par
?q= /recipient/{name}regroupe toutes les subventions d'un bénéficiaire
Plus de 670 000 subventions de recherche du CRSNG et du CRSH. Un seul point de terminaison. Le forfait de base est gratuit, 25 requêtes par jour.
À quoi ressemblent les données du CRSNG dans l'API
Chaque dossier expose des champs de premier niveau pour un filtrage rapide (department, recipient_name, program, value, event_date), plus un objet data contenant les champs sources. Un dossier de subvention :
{
"record_id": "research_grants|nserc|RGPIN-2023-04821",
"entity_type": "research_grant",
"department": "Natural Sciences and Engineering Research Council",
"recipient_name": "University of Toronto",
"program": "Discovery Grants",
"value": 52000.00,
"event_date": "2023-04-01",
"data": {
"fiscal_year": "2023-2024",
"committee": "Evolution and Ecology",
"province": "Ontario",
"installment": 1
}
}
Exemples de requêtes
Subventions à la découverte du CRSNG par mot-clé
curl -G "https://grantdata-canadian-government-grants-api.p.rapidapi.com/research_grant" \
--data-urlencode "program_exact=Discovery Grants" \
--data-urlencode "q=quantum" \
--data-urlencode "issued_after=2022-01-01" \
--data-urlencode "limit=20" \
-H "X-RapidAPI-Key: VOTRE_CLE_API" \
-H "X-RapidAPI-Host: grantdata-canadian-government-grants-api.p.rapidapi.com"
Toutes les subventions d'un établissement
curl -G "https://grantdata-canadian-government-grants-api.p.rapidapi.com/research_grant" \
--data-urlencode "recipient_name=University of British Columbia" \
--data-urlencode "sort_by=value" \
--data-urlencode "sort_order=desc" \
--data-urlencode "limit=50" \
-H "X-RapidAPI-Key: VOTRE_CLE_API" \
-H "X-RapidAPI-Host: grantdata-canadian-government-grants-api.p.rapidapi.com"
Statistiques agrégées par programme
Le point de terminaison /research_grant/stats agrège sans rapatrier les dossiers : total par programme, par établissement ou par période. Un appel au lieu de milliers.
curl -G "https://grantdata-canadian-government-grants-api.p.rapidapi.com/research_grant/stats" \
--data-urlencode "group_by=program" \
--data-urlencode "sum_field=value" \
-H "X-RapidAPI-Key: VOTRE_CLE_API" \
-H "X-RapidAPI-Host: grantdata-canadian-government-grants-api.p.rapidapi.com"
Normalisation des programmes et des ministères
Les données sources nomment le même bailleur de plusieurs façons : « NSERC », « CRSNG », « Natural Sciences and Engineering Research Council ». L'API normalise ces variantes. Utilisez department=CRSNG et vous obtenez tous les dossiers, peu importe la graphie d'origine. Pour un programme connu, program_exact=Discovery Grants est plus rapide qu'une correspondance partielle.
Cette API est la couche d'accès derrière nos analyses du CRSNG : l'écart de 6x entre disciplines et 26 ans et 28 milliards de dollars. Les mêmes données, mais brutes et interrogeables.
Foire aux questions
/research_grant avec ?program_exact=Discovery Grants pour une correspondance exacte, plus rapide que program=. Ajoutez department=CRSNG pour restreindre au CRSNG.
Commencez à interroger les subventions du CRSNG avec une clé API gratuite.
Obtenir une clé API sur RapidAPI Voir la spec OpenAPI