- Version du script / Script version : 1.1.0
- Date de la dernière mise à jour / Last update date: 2026-02-05
Cet outil permet d'interroger l'API OpenAlex à partir d'une liste de DOI et/ou de PMID (Pubmed ID) et d'obtenir un tableau synthétique dans Google Sheets.
Plus précisément, le script :
- lit les DOI et PMID saisis dans l'onglet
DOI_ou/or_PMID; - envoie des requêtes à l'API https://api.openalex.org/works avec des filtres optionnels (années, type de document, accès ouvert, include_xpac) configurés dans l'onglet
Paramètres/Parameters; - récupère, pour chaque DOI/PMID trouvé, des métadonnées de base (titre, année, type, auteurs) et des informations de libre accès basées sur
best_oa_location(source, type, licence, version, URL OA) etopen_access(is_oa, oa_status) ; - écrit les résultats normalisés dans l'onglet
Résultats/Results, avec une mise en couleur simple (par exemple vert pâle pour les travaux en libre accès).
Dans OpenAlex, best_oa_location représente le meilleur point d'accès libre à l'article (en général l'URL la plus stable et utile pour un texte intégral en libre accès, quand disponible).
L'outil est pensé comme un gabarit réutilisable pour des chercheurs, bibliothécaires ou analystes souhaitant extraire rapidement des informations relatives au libre accès d'OpenAlex à partir d'une liste de DOI, sans installer Python, R ou d'autres langages sur leur poste.
La feuille Google Sheets modèle (lecture seule) se trouve à l'adresse suivante :
Modèle Google Sheets / Google Sheets template
https://docs.google.com/spreadsheets/d/1Bmvp-egLfwjA9VFR6YFeou5fW6C8Z4nQtnjFGQ7_1AM/edit?usp=sharing
- Disposer d'un compte Google (institutionnel ou personnel).
- Avoir accès à Google Sheets.
- Accepter les autorisations d'exécution Apps Script lors du premier lancement.
v1.1.0 - Affichage automatique d'une bulle explicative à l'ouverture du classeur. Le message précise qu'au premier lancement du menu OpenAlex >> Mettre à jour / Update (OpenAlex), Google demandera d'autoriser l'exécution du script (accès à la feuille et appel à l'API OpenAlex), et que cette demande d'autorisation est normale et nécessaire pour écrire les résultats dans l'onglet Résultats/Results.
Lors de la première utilisation du menu OpenAlex dans VOTRE copie de la feuille :
- Google affichera un message indiquant que ce script souhaite s'exécuter sous votre compte.
- Il faudra :
- sélectionner votre compte Google ;
- lire l'écran d'avertissement (parfois du type "Cette application n'a pas été vérifiée...") ;
- cliquer sur "Avancé" puis "Continuer" si vous faites confiance au script ;
- accorder les autorisations suivantes, entre autres :
- accès à la feuille de calcul (lecture/écriture) pour pouvoir lire les DOI et écrire les résultats ;
- accès à Internet (via
UrlFetch) pour interroger l'API OpenAlex.
- Une fois ces autorisations accordées, le script pourra être relancé sans redemander ces permissions, sauf modification importante ou changement de compte.
- Ouvrir le modèle à partir du lien : https://docs.google.com/spreadsheets/d/1Bmvp-egLfwjA9VFR6YFeou5fW6C8Z4nQtnjFGQ7_1AM/edit?usp=sharing.
- Dans le menu Google Sheets, cliquer sur Fichier → Créer une copie....
- Enregistrer la copie dans votre propre Google Drive.
- C'est cette copie qui servira à vos propres requêtes et que vous pourrez modifier librement.
- Aller dans l'onglet
DOI_ou/or_PMID. - Éditer uniquement la colonne A.
- Saisir la liste de DOI/PMID à partir de la cellule
A2(une ligne par DOI/PMID). - Ne pas ajouter de guillemets ni d'espaces inutiles.
- Aller dans l'onglet
Paramètres/Parameters. - Éditer uniquement la colonne B en suivant les consignes de la colonne A, par exemple :
api_key: votre clé API OpenAlex (gratuite) (recommandée, mais facultative pour un usage limité ou de test) ;year_min/year_max: années de publication minimale et maximale (formatAAAA, optionnel) ;type: type de document (par exemplearticle,review,dataset,book, etc., optionnel) ;only_oa:TRUEouVRAIpour ne garder que les travaux en libre accès (laisser vide, ou FAUX/FALSE, pour ne pas filtrer) ;include_xpac:TRUEouVRAIpour inclure le pack d'extension xpac (DataCite complet et de nombreux dépôts), laisser vide (ou FAUX/FALSE) sinon.
- Dans la barre de menu de la feuille, choisir
🔓🔑 OpenAlex → >> Mettre à jour / Update (OpenAlex). - Lors du premier lancement dans VOTRE copie, Google demandera d'autoriser le script (voir section Autorisations ci-dessus).
- Le script :
- lit les DOI/PMID depuis l'onglet
DOI_ou/or_PMID; - applique les paramètres de l'onglet
Paramètres/Parameters; - interroge l'API OpenAlex en blocs de 50 DOI/PMID ;
- écrit les résultats dans l'onglet
Résultats/Results:- une ligne par travail trouvé ;
- colonnes incluant DOI, PMID, id OpenAlex, titre, auteurs, année, type, informations de libre accès (is_oa, oa_status, best_oa_location, etc.) ;
- fond vert pâle pour les lignes correspondant à des travaux en libre accès (only_oa = TRUE/VRAI), et rouge pâle pour les autres.
- lit les DOI/PMID depuis l'onglet
L'ordre des lignes dans la feuille Résultats/Results reflète l'ordre renvoyé par l'API OpenAlex, qui peut différer de l'ordre initial des DOI/PMID dans la feuille DOI_ou/or_PMID, et le script ne réordonne pas ces résultats.
Vous pouvez ensuite trier, filtrer, copier ou exporter les résultats (CSV, Excel, etc.) depuis Google Sheets.
Le script est distribué sous licence GPL (GNU General Public License), version 3.
En pratique, cela signifie notamment :
- vous pouvez utiliser, étudier, modifier et redistribuer le script ;
- toute redistribution d'une version modifiée doit rester sous GPL v3 (copyleft) ;
- il est recommandé de conserver l'en-tête de licence dans le fichier de script et de joindre un fichier
LICENSE(texte de la GPL v3) dans tout dépôt public (par exemple sur GitHub).
- 1.0.0 (2025-12-15)
Première publication publique du script (import de DOI & PMID, filtres de base, couleurs OA, best_oa_location, include_xpac). - 1.1.0 (2026-02-05)
Ajout d'un message d'information à l'ouverture du classeur (autorisation du script, statut des services OpenAlex) et remplacement du paramètremailtoparapi_keypour l'authentification auprès de l'API OpenAlex.
This tool allows you to query the OpenAlex API from a list of DOIs/PMIDs and obtain a concise table in Google Sheets.
More specifically, the script:
- reads the DOIs entered in the
DOI_ou/or_PMIDsheet; - sends requests to the https://api.openalex.org/works API with optional filters (years, document type, open access, include_xpac) configured in the
Paramètres/Parameterssheet; - retrieves, for each DOI/PMID found, basic metadata (title, year, type, authors) and open access information based on
best_oa_location(source, type, license, version, OA URL) andopen_access(is_oa, oa_status); - writes normalized results into the
Résultats/Resultssheet, with simple color coding (for example light green for open access works).
In OpenAlex, best_oa_location represents the best open access entry point for the article (generally the most stable and useful URL to an open full text, when available).
The tool is designed as a reusable template for researchers, librarians or analysts who wish to quickly extract OpenAlex open access information from a list of DOIs/PMIDs, without installing Python, R or other languages on their own machine.
The read-only Google Sheets template is available at:
Google Sheets template
https://docs.google.com/spreadsheets/d/1Bmvp-egLfwjA9VFR6YFeou5fW6C8Z4nQtnjFGQ7_1AM/edit?usp=sharing
- A valid Google account (institutional or personal).
- Access to Google Sheets.
- Acceptance of Google Apps Script execution permissions on first run.
A dialog is now shown automatically when the spreadsheet is opened. The message explains that on the first run of the menu OpenAlex >> Mettre à jour / Update (OpenAlex), Google will ask the user to authorize the execution of the script (access to the sheet and calls to the OpenAlex API), and that this authorization request is expected and required for the script to write results into the Résultats/Results sheet.
On the first use of the OpenAlex menu in YOUR copy of the sheet:
- Google will display a message indicating that this script wants to run under your account.
- You will need to:
- select your Google account;
- read the warning screen (often something like "This app has not been verified...");
- click "Advanced" then "Continue" if you trust the script;
- grant the following permissions, among others:
- access to the spreadsheet (read/write) so it can read DOIs and write results;
- access to the Internet (via
UrlFetch) so it can query the OpenAlex API.
- Once these permissions are granted, the script can be run again without asking for them, unless there is a significant modification or you switch accounts.
- Open the template using the link: https://docs.google.com/spreadsheets/d/1Bmvp-egLfwjA9VFR6YFeou5fW6C8Z4nQtnjFGQ7_1AM/edit?usp=sharing.
- In the Google Sheets menu, click File → Make a copy....
- Save the copy in your own Google Drive.
- This copy is the one you will use for your own queries and that you can freely modify.
- Go to the
DOI_ou/or_PMIDsheet. - Edit column A only.
- Enter the list of DOIs/PMIDs starting from cell
A2(one DOI or PMID per line). - Do not add quotes or unnecessary spaces.
- Go to the
Paramètres/Parameterssheet. - Edit column B only, following the instructions in column A, for example:
api_key: your (free) OpenAlex API key (recommended, but optional for limited or test use);year_min/year_max: minimum and maximum publication years (formatYYYY, optional);type: document type (for examplearticle,review,dataset,book, etc., optional);only_oa:TRUEorVRAIto keep only open access works (leave blank, or set to FALSE, to disable this filter);include_xpac:TRUEorVRAIto include the xpac extension pack (full DataCite corpus and many repositories), leave blank (or set to FALSE) otherwise.
- In the sheet menu bar, select
🔓🔑 OpenAlex → >> Mettre à jour / Update (OpenAlex). - On first run in YOUR copy, Google will ask you to authorize the script (see the Authorization section above).
- The script will:
- read the DOIs/PMIDs from the
DOI_ou/or_PMIDsheet; - apply the parameters from the
Paramètres/Parameterssheet; - query the OpenAlex API in batches of up to 50 DOIs;
- write the results into the
Résultats/Resultssheet:- one row per work found;
- columns including DOI, PMID,OpenAlex id, title, authors, year, type, and open access information (is_oa, oa_status, best_oa_location, etc.);
- light green background for rows corresponding to open access works (only_oa = TRUE/VRAI), and light red for the others.
- read the DOIs/PMIDs from the
The row order in the Résultats/Results sheet follows the order returned by the OpenAlex API, which may differ from the initial DOI order in the DOI sheet, and the script does not reorder these results.
You can then sort, filter, copy or export the results (CSV, Excel, etc.) from Google Sheets.
This script is released under the GPL (GNU General Public License), version 3.
In practice, this means:
- you may use, study, modify and redistribute the script;
- any redistributed modified version must remain under GPL v3 (copyleft);
- it is recommended to keep the license header in the script file and to include a
LICENSEfile (GPL v3 text) in any public repository (for example on GitHub).
-
1.0.0 (2025-12-15) First public release of the script (DOI & PMID import, basic filters, OA color coding, best_oa_location, include_xpac).
-
1.1.0 (2026-02-05) Added an information message on spreadsheet open (script authorization, OpenAlex service status) and replaced the
mailtoparameter withapi_keyfor authentication with the OpenAlex API.


